繁体   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