0

SQL Alchemy では、作成された各セッション クエリから Query クラスのインスタンスが返されます。

リストと同様に動作することを期待して、次のようにクエリを評価しようとしました。

if session.query(...).filter_by(...):

ただし、常に true と評価されるため、代わりにこれを行うことになりました。

if session.query(...).filter_by(...).count():

これは少し長ったらしく、正しくないようです。クエリが結果を返すかどうかを確認するより良い方法はありますか?

4

1 に答える 1

0

query は SQL を発行するタイミングについて必然的に保守的です。これが、たとえばmethodがない__len__()理由です。

通常、クエリが結果を返すかどうかを確認したい場合は、 を呼び出します.first()。これにより、少なくとも DB は、.count().

于 2013-09-19T16:29:02.713 に答える