postgresql配列フィールドを使用するには、unnest()
を使用する必要があります 関数。ただし、unnest()
の結果は使用できません。 where
条項。
代わりに、array_to_string
を使用できます 関数。 other_names
の文字列を検索しています 同じ効果があります
from sqlalchemy import func as F
last_like = "%qq%"
matches = session.query(MyTable).filter(or_(
MyTable.name.ilike(last_like),
F.array_to_string(MyTable.other_names, ',').ilike(last_like),
)).all()