При работе с SQLAlchemy часто возникает необходимость использовать в HAVING условиях алиасы из селекта, которые реализуются с помощью label. В таком случае следует воспользоваться средством literal_column
Простой пример:
1 2 3 4 5 6 7 |
from sqlalchemy import literal_column debug_stores = db.session.query(User.store_id, db.func.count(User.debug).label('debug_total')).\ group_by(User.store_id). \ having(literal_column('debug_total') > n).\ all() |