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