问题
I want to query services between two dates and sum their prices. When I try to use func.sum with Services.query, I get TypeError: BaseQuery object is not callable. How do I query using a function with Flask-SQLAlchemy?
Services.query(func.sum(Services.price)).filter(Services.dateAdd.between(start, end))
回答1:
Model.query is a shortcut to db.session.query(Model), it's not callable. If you're not querying a model, continue to use db.session.query(...) as you would with regular SQLAlchemy.
db.session.query(db.func.sum(Services.price)).filter(
Services.dateAdd.between(start, end)
)
来源:https://stackoverflow.com/questions/40918479/querying-with-function-on-flask-sqlalchemy-model-gives-basequery-object-is-not-c