Aby użyć pola tablicy postgresql, musisz użyć unnest()
function. Ale nie możesz użyć wyniku unnest()
w where
klauzula.
Zamiast tego możesz użyć array_to_string
funkcjonować. Wyszukiwanie w ciągu znaków other_names
da ten sam efekt
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()