Para usar o campo de array postgresql você precisa usar
unnest()
function.Mas você não pode usar o resultado de unnest()
em where
cláusula. Em vez disso, você pode usar
array_to_string
função. Pesquisando na string de other_names
vai dar o mesmo efeito 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()