1

假设以下模型。注意自引用关系“父”。

class Widget(object):
    __tablename__ = 'widgets'

    id = Column(Integer, primary_key=True)
    name = Column(String(100), nullable=False)
    parent_id = Column(Integer, ForeignKey('widgets.id'), nullable=True)
    parent = relationship("Widget", remote_side=[id])

我正在尝试制定一个允许我按“parent.name”排序的查询。在查询上指定连接似乎对生成和执行的 SQL 没有任何影响。

到目前为止,我会更具体地说明我所尝试的内容,但问题是,我已经为此苦苦挣扎了一整天,并且几乎用尽了可用的文档。

关于我应该尝试什么的任何 WAG?

4

1 回答 1

1

查看自引用结构的 SA 文档- 特别是查看Node自引用部分开始之前的声明。

我不是这些分层设置的专家(它们可能有点冒险),但看起来你已经建立了与文档中的示例相反的关系。这并不是说您做错了,而是Node/Parent/Children文档中的示例似乎映射到您正在尝试做的事情。您应该能够以与示例Widget相同的方式设置您的,进入您的查询,然后进行排序。Nodeparent

于 2012-10-19T04:37:08.960 回答