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、ドキュメントの例があなたがやろうとしていることと一致しているように見えるということです. 例と同じ方法でを設定し、クエリに を取得して、並べ替えを実行できるはずです。WidgetNodeparent

于 2012-10-19T04:37:08.960 に答える