簡體   English   中英

SQLAlchemy中的關系外鍵過濾

[英]Filtering by relationship foreign key in SQLAlchemy

假設我有兩個 SQLAlchemy 模型: ChildParent 我知道孩子與其父母( 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM