这是一个邻接表示例:
class TreeNode(Base):
__tablename__ = 'tree'
id = Column(Integer, primary_key=True)
parent_id = Column(Integer, ForeignKey(id))
name = Column(String(50), nullable=False)
children = relationship("TreeNode",
cascade="all",
backref=backref("parent", remote_side=id)
)
假设我有一个简单的线性结构: (0)---->(1)---->(2)---->(3)
如何获取某个节点的所有祖先节点?类似 node2.parents.all() 的东西返回节点 0 和 1 的列表。
我试着这样做:
parents = relationship("TreeNode", cascade="all", primaryjoin="TreeNode.parent_id==TreeNode.id")
运气不好 - 它返回 child 而不是 parent 。
谢谢。
最佳答案
关于python - SQLALchemy 邻接表获取所有父项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16668709/