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