[英]Filtering by relationship foreign key in SQLAlchemy
假設我有兩個 SQLAlchemy 模型: Child
和Parent
。 我知道孩子與其父母( Child.parent
)之間的關系,但我不知道用於鏈接這兩個模型的實際外鍵。
使用關系Child.parent
,有沒有一種簡單的方法可以找到屬於某個 P Parent
的所有孩子?
例如,我希望能夠做到這一點: Child.parent == 24
,但它需要一個 model 實例在右側,所以拋出'str' object has no attribute '_sa_instance_state'
。
您與父表的鍵作為子表中的外鍵具有子父關系。 您不知道此鍵的名稱,而是值。 這種情況下可以先用select的父object的值,再確定屬於這個父object的子列表:
parentobject = Parent.query.get(24)
print(parentobject .childs)
基於 model 定義,例如:
class Parent(db.Model):
idunknown = db.Column(db.Integer, primary_key=True)
childs = db.relationship('Child', backref='parent', lazy=True)
class Child(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.idunknown'), nullable=False)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.