Skip to main content
 首页 » 编程设计

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

2025年05月04日7lidabo

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

请您参考如下方法:

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

allMy_C =relationship(C, secondary = B) 

但是,对于 d,您需要创建一个连接 B 和 C 的可选对象,我不记得如何做到这一点。所以我将其标记为社区 wiki 问题,其他人可以编辑以填写其余部分。