首页 > 解决方案 > 如何在sqlalchemy模型中获取panrent类中子类的数据?

问题描述

我有一个称为父模型的模型:

class Parent(Base):
    __tablename__ = 'parent'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    children = relationship("Child", back_populates="parent")

另外,我有一个子类,它具有父模型的外键,它还与另一个表有关系:

class Child1(Base):
    __tablename__ = 'child_1'

    id = Column(Integer, primary_key=True)
    example_field = Column(String)

class Child2(Base):
    __tablename__ = 'child_2'

    id = Column(Integer, primary_key=True)
    link = Column(String)

    parent_id = Column(Integer, ForeignKey('parent.id'))
    child_1_id = Column(Integer, ForeignKey('child_1.id'))
    parent = relationship("Parent", back_populates="children")

现在我想在获取父表的行时,如果“child_1_id”等于“child 1 table”的特定id,则获取子表的链接值。

例如,当:

parents = session.query(Parent).all()

我希望链接列作为父记录中的列属性或混合属性等。

我能做些什么?如何传递 child_1_id 并应用此条件?

标签: pythonsqlsqlalchemyflask-sqlalchemy

解决方案


推荐阅读