[英]SQLAlchemy filter by dict of lists
嘗試在flask_sqlalchemy 中進行查詢。 我想使用列表字典和使用 ORM 而不是查詢字符串進行過濾。 對 SQLAlchemy 還是新手,所以任何幫助將不勝感激。
我知道我可以做到:
filter = {
'name': 'apple'
, 'age': 14
}
Items.query.filter(**filter).all()
翻譯成:
SELECT * FROM items WHERE name = 'apple' AND age = 14;
但我想要:
filter = {
'name': ['apple', 'pear']
, 'age': [14, 15, 21]
}
成為:
SELECT * FROM items WHERE name IN ('apple', 'pear') AND age IN (14, 15, 21);
這似乎可以解決問題:
filter = {
'name': ['apple', 'pear']
, 'age': [14, 15, 21]
}
items = Item.query
for field in query:
items = items.filter(getattr(Item, field).in_(query[field]))
items = items.all()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.