Hi sqlalchemy eksperci tam, tutaj jest to trudne dla ciebie:SQLAlchemy zapytań filtr „kolumna jak każdy (array)”
Próbuję napisać kwerendę, która rozwiązuje się coś takiego:
SELECT * FROM MyTable where my_column LIKE ANY (array['a%', 'b%'])
użyciu SQLAlchemy:
foo = ['a%', 'b%']
# this works, but is dirty and silly
DBSession().query(MyTable).filter("my_column LIKE ANY (array[" + ", ".join(["'" + f + "'" for f in token.tree_filters]) + "])")
# something like this should work (according to documentation), but doesn't (throws "AttributeError: Neither 'AnnotatedColumn' object nor 'Comparator' object has an attribute 'any'"
DBSession().query(MyTable).filter(MyTable.my_column.any(foo, operator=operators.like)
Wszelkie rozwiązania?
Możliwy duplikat [Elixir/sqlalchemy odpowiednik SQL "LIKE" stwierdzeniem?] (Http://stackoverflow.com/questions/3325467/elixir-sqlalchemy-equivalent-to-sql-like-statement) – dshgna