Использование меток sqlalchemy python

Я знаю, что я могу использовать метод меток для псевдонима, но я не могу понять, как использовать помеченный элемент позже в запросе – что-то вроде следующего:

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()