字段介绍:
class Predict(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
city = db.Column(db.String(20))
根据以上两个表,查询和当前用户所在city相同的所有用户的predict总数
方法一
使用session
same_city = 0
for u, a in db.session.query(User, Predict).filter(User.id == Predict.user_id).all():
if u.city == current_user.city:
same_city+=1
print(same_city)
方法二
使用join
x = Predict.query.join(User, (User.id == Predict.user_id)).filter_by(city=current_user.city)
print(x.count())
两种方式的结果一样