エイリアスに label メソッドを使用できることはわかっていますが、クエリの後半でラベル付き要素を使用する方法がわかりません。次のようなものです。
session.query(Foo.bar.label("foobar")).filter(foobar > 10).all()
もちろん、foobar という変数がないため、これは機能しません。これはどのように達成できますか?
(過度に単純化された例は、理解を容易にするためのものです...)
エイリアスに label メソッドを使用できることはわかっていますが、クエリの後半でラベル付き要素を使用する方法がわかりません。次のようなものです。
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()