Hallo SQLAlchemy Experten da draußen, hier ist eine knifflige Frage für Sie:SQLAlchemy Filterabfrage „Spalte LIKE ANY (Array)“
Ich versuche, eine Abfrage zu schreiben, die wie in etwas löst:
SELECT * FROM MyTable where my_column LIKE ANY (array['a%', 'b%'])
SQLAlchemy mit:
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)
Irgendwelche Lösungen?
Mögliche Duplikat [Elixir/SQLAlchemy entspricht SQL "LIKE" Anweisung?] (Http://stackoverflow.com/questions/3325467/elixir-sqlalchemy-equivalent-to-sql-like-statement) – dshgna