【问题标题】:How to implement multiple joins with sqlalchemy relationships如何使用 sqlalchemy 关系实现多个连接
【发布时间】:2017-04-29 19:38:59
【问题描述】:

我有一个(对你们大多数人来说)关于 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"))

【问题讨论】:

    标签: python sql join sqlalchemy


    【解决方案1】:

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

    allMy_C =relationship(C, secondary = B)
    

    但是,对于 d,您需要创建一个连接 B 和 C 的可选择项,我不记得该怎么做。因此,我将此标记为社区 Wiki 问题,其他人可以进行编辑以填写其余部分。

    【讨论】:

      猜你喜欢
      • 2020-07-11
      • 2012-11-15
      • 2014-05-26
      • 1970-01-01
      • 2018-02-11
      • 2013-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多