chuyên gia Hi SQLAlchemy trên mạng, đây là một khó khăn cho bạn:SQLAlchemy truy vấn lọc "cột giống như bất kỳ (mảng)"
Tôi đang cố gắng để viết một truy vấn mà giải quyết vào một cái gì đó như:
SELECT * FROM MyTable where my_column LIKE ANY (array['a%', 'b%'])
sử dụng 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)
Bất kỳ giải pháp nào?
có thể trùng lặp của [Elixir/SQLAlchemy tương đương với SQL "LIKE" tuyên bố?] (Http://stackoverflow.com/questions/3325467/elixir-sqlalchemy-equivalent-to-sql-like-statement) – dshgna