За да използвате полето за масив 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()