[英]Flask SQLAlchemy relationship query
我有两个具有一对多关系的模型
class UserModel(db.Model):
username = db.Column(db.String(80), unique=True)
...
weekday = db.relationship('weekDay', backref="usermodel")
class weekDay(db.Model):
dayname = db.Column(db.String(15))
...
usermodel_id = db.Column(db.Integer, db.ForeignKey('usermodel.id'))
如何返回与特定用户关联的特定工作日。
以下查询运行但似乎没有返回正确的结果 -
weekDay.query.filter(UserModel.username == 'tester').filter(weekDay.dayname=='Monday').first()
编辑:我终于学会了如何创建一个满足我需求的工作查询,如果其他人需要这个,我的理解如何
使用上面定义的模型,我从子节点开始查询,并使用 select_from 和 join 语句显式地将父节点加入到它,然后最后添加到我的自定义过滤器中以搜索我需要的内容。 这是查询
weekDay.query.select_from(UserModel).join(UserModel.weekday).filter(UserModel.username == "username_goes_here").filter(weekDay.dayname=="dayname_goes_here").first()
假设您有一个 id 为 5 的用户,如果您想获取与该用户关联的工作日: day=weekDay.query.filter_by(usermodel_id=5).first()
day.dayname
day=weekDay.query.filter_by(usermodel_id=5).first()
day.dayname
将为您提供与该用户关联的日期名称. 如果你想拥有
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.