例如,我有一个邮政编码列表:-
postcodes = ['LDN 4DN','MAN 4RF']
地址字段中包含邮政编码,示例地址字段为
'英国伦敦唐宁街 1 号,LDN 4DN' '大道 10 号,英格兰曼彻斯特,MAN 4RF' '苏格兰高地 20 号,SCT L40'
我正在使用
site = SiteData.objects.filter(address__icontains=postcodes[0]))
在一个循环中获取每个站点,但这似乎有点冗长,是否可以包含在其中?
我可以运行查询以获取列表中两个邮政编码的记录吗?
谢谢
最佳答案
这显然行不通 - 但您可以使用 models.Q
构建“或”查询:
import operator
clauses = (Q(address__icontains=p) for p in postcodes)
query = reduce(operator.or_, clauses)
site = SiteData.objects.filter(query)
关于python - 使用包含列表作为源的 Django 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41059996/