1

名と姓の両方のフィールドを照合してユーザーを検索したいと考えています。

プレーンな SQL では、次のようにします。

SELECT * FROM user
WHERE (first_name ILIKE 'pattern') OR (last_name LIKE 'pattern');

SQLAlchemy で次のことを試しています。

User.query().filter(User.last_name.ilike(pattern) \
                    or User.first_name.ilike(pattern))

次のエラーが表示されます。TypeError: Boolean value of this clause is not defined

同じコンテキストで、2 つの完全一致 ( ==)を組み合わせるorことでうまくいくので、私の問題は演算子ilikeと何らかの形で互換性がないことに関連していると推測しorます。

ヒントはありますか?

ありがとう

4

1 に答える 1