Sqlalchemy 查询所有子列

Sqlalchemy 查询所有子列,sqlalchemy,flask-sqlalchemy,Sqlalchemy,Flask Sqlalchemy,我有以下一对多关系的设置: class Parent(db.Model): id = db.Column(db.Integer, primary_key=True) children_a = db.relationship("ChildA", backref="parent", lazy="dynamic") children_b = db.relationship("ChildB", backref="parent", lazy="dynamic") children_c =

我有以下一对多关系的设置:

class Parent(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  children_a = db.relationship("ChildA", backref="parent", lazy="dynamic")
  children_b = db.relationship("ChildB", backref="parent", lazy="dynamic")
  children_c = db.relationship("ChildC", backref="parent", lazy="dynamic")


class ChildA(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  # Some other properties
  parent_id = db.Column(db.Integer, db.ForeignKey("parent.id"))


class ChildB(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  # Some other properties
  parent_id = db.Column(db.Integer, db.ForeignKey("parent.id"))

# etc..
我要做的是获得父实例的所有子实例的组合列表。 我能想到的唯一方法是分别查询每个关系,然后将它们合并到一个列表中,但我怀疑这是一个非常好的方法

有更好的方法吗?

我用

解决了这个问题,所有这些孩子[a | B | C]都有什么关系吗?如果是,您可以使用继承映射和多态查询。否则,我将继续单独加载它们并合并它们,除非列表非常大,并且您可能只需要一个子集和/或以某种方式对它们进行排序。