繁体   English   中英

Flask SQLAlchemy 关系查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM