我正在使用SQL Alchemy开发金字塔应用程序,我有以下模型:
class Node(Base, Auditable):
__tablename__ = 'node'
id = Column(Integer, primary_key=True)
parent_id = Column(Integer, ForeignKey('node.id'))
active = Column(Boolean)
children = relationship("Node",
backref=backref('parent', remote_side=[id])
)
我希望将children
关系更改为仅显示active == True
的关系,我将如何进行此操作?
我理解这通常是通过关系中的primaryjoin选项实现的,这使得两个表不同,但我不知道如何指定active == True
时加入的哪一侧“{1}}双方使用同一张桌子。