我具有以下三个类的设置,其中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
?
我知道我可以使用事件监听器,但是我想知道是否有更简单的解决方案。