Pour utiliser le champ de tableau postgresql, vous devez utiliser unnest()
function.Mais vous ne pouvez pas utiliser le résultat de unnest()
dans where
clause.
Au lieu de cela, vous pouvez utiliser array_to_string
fonction. Recherche sur la chaîne de other_names
donnera le même effet
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()