SQLalchemy:设置了另一个外键后,将自动填充外键。

时间:2018-09-20 15:07:40

标签: python sqlalchemy

我具有以下三个类的设置,其中A与B具有1-to-n关系,而B与C具有1-to-n关系。

除以下事实外,A还与C具有直接的一对一关系

class A:
    id = Column(Integer)

class B:
    id = Column(Integer)
    a_id = Column(Integer, ForeignKey("A.id"))

    a = relationship("A")

class C:
    id = Column(Integer)

    a_id = Column(Integer, ForeignKey("A.id"))
    b_id = Column(Integer, ForeignKey("B.id"))

    b = relationship("B", backref="cs")

现在,当我将C的实例添加到检测列表B.cs并刷新会话时,sqlalchemy将自动为我设置C.b_id

是否可以配置这些类,使其在这种情况下也会自动设置C.a_id

我知道我可以使用事件监听器,但是我想知道是否有更简单的解决方案。

0 个答案:

没有答案