эксперты Привет SQLAlchemy там, вот хитрая один для вас:SQLAlchemy фильтра запрос «колонок, как и любые (массив)»
Я пытаюсь написать запрос, который решает во что-то вроде:
SELECT * FROM MyTable where my_column LIKE ANY (array['a%', 'b%'])
с помощью 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)
Любые решения?
Возможный дубликат [Elixir/SQLAlchemy эквивалентном SQL "LIKE" заявление?] (HTTP://stackoverflow.com/questions/3325467/elixir-sqlalchemy-equivalent-to-sql-like-statement) – dshgna