![](/img/trans.png)
[英]Is it possible to make sql join on several fields using peewee python ORM?
[英]Querying in python peewee using combination of fields
我有一个字段为name:string和id_no:integer的表,从外部来源获得name和id_no的列表,我需要使用peewee ORM将此组合获取记录。
例如:
input = [
{'name':'name1', 'id_no': 1},
{'name':'name2', 'id_no': 2},
{'name':'name3', 'id_no': 3},
]
我要写什么查询才能获取具有上述数据组合的记录?
mysql中类似的查询:
SELECT * FROM table_name
WHERE CONCAT(convert(id_no, char), ':', name) IN ('1:name1','2:name2','3:name3')
我将其写为:
import operator
data = [
{'name':'name1', 'id_no': 1},
{'name':'name2', 'id_no': 2},
{'name':'name3', 'id_no': 3},
]
conditions = [
((MyModel.name == item['name']) & (MyModel.id_no == item['id_no']))
for item in data]
expr = reduce(operator.or_, conditions)
query = MyModel.select().where(expr)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.