web-dev-qa-db-ja.com

Flask-SQLAlchemyモデルで関数を使用してクエリを実行すると、BaseQueryオブジェクトが呼び出し不能エラーになる

2つの日付の間でサービスを照会し、それらの価格を合計したいと思います。 func.sumServices.queryとともに使用しようとすると、TypeError: BaseQuery object is not callableが表示されます。 Flask-SQLAlchemyで関数を使用してクエリを実行するにはどうすればよいですか?

Services.query(func.sum(Services.price)).filter(Services.dateAdd.between(start, end))
16

_Model.query_はdb.session.query(Model)へのショートカットであり、呼び出し可能ではありません。モデルにクエリを実行しない場合は、通常のSQLAlchemyと同じようにdb.session.query(...)を引き続き使用してください。

_db.session.query(db.func.sum(Services.price)).filter(
    Services.dateAdd.between(start, end)
)
_
19
davidism