PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como usar o ilike sqlalchemy no campo de matriz postgresql?


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()