名と姓の両方のフィールドを照合してユーザーを検索したいと考えています。
プレーンな 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
ます。
ヒントはありますか?
ありがとう