エイリアスにラベルメソッドを使用できることはわかっていますが、ラベル付き要素をクエリの後半で使用する方法がわかりません。たとえば、次のようになります。
session.query(Foo.bar.label("foobar")).filter(foobar > 10).all()
もちろん、foobarと呼ばれる変数がないため、これは機能しません。どうすればこれを達成できますか?
(過度に単純化された例は、理解を容易にするためのものでした...)
ラベルの付いた列自体を式として使用できると思います。
foobar = Foo.bar.label("foobar")
session.query(foobar).filter(foobar > 10).all()
Foobarを引用符で囲んでください。 order_by
このような:
session.query(Foo.bar.label("foobar")).order_by('foobar').all()
フィルターには生のSQL条件を使用できます。
session.query(Foo.bar.label("foobar")).filter("foobar > 10").all()