如何使用sqlalchemy关系实现多个连接

时间:2017-04-29 19:38:59

标签: python sql join sqlalchemy

我有一个(对你们大多数人来说)sqlAlchemy和Python的简单问题。我有四个表与1对N的关系,我想加入这个表。 我用#??????标记了我的问题在我的示例代码中。

有人知道如何实施'#??????' ?谢谢!

class A(Base):
    __tablename__ = "a"
    id = Column(Integer, primary_key=True)
    allMy_B = relationship("B")
    allMy_C = # ??????
    allMy_D = # ??????

class B(Base):
    __tablename__ = "b"
    id = Column(Integer, primary_key=True)
    my_A_parent = Column(Integer, ForeignKey("a.id"))
    allMy_C = relationship("C")
    allMy_D = # ??????

class C(Base):
    __tablename__ = "c"
    id = Column(Integer, primary_key=True)
    my_B_parent = Column(Integer, ForeignKey("b.id"))
    allMy_D = relationship("D")

class D(Base):
    __tablename__ = "d"
    id = Column(Integer, primary_key=True)
    my_C_parent = Column(Integer, ForeignKey("c.id"))

1 个答案:

答案 0 :(得分:0)

我有一个部分答案:对于第一个,空白,您可以使用secondaryjoi表:

allMy_C =relationship(C, secondary = B)

但是,对于d,你需要创建一个加入B和C的可选项,我不记得如何做到这一点。因此,我将此标记为社区维基问题,有人可以编辑以填写其余内容。