python - 使用包含列表作为源的 Django 查询?

标签 python django

例如,我有一个邮政编码列表:-

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/

相关文章:

python - 在没有外部模块的情况下在 Python 中播放声音?

python /NetCDF4 : How to duplicate a NetCDF file?

python - wxPython 在 THIThemeTextInfoPublic::GetOptions() const + 9 处随机崩溃

python - 记住方法调用之间的状态

python - 在Python中一起打印多个表

django - Fixtures 不应该被直接调用

django - 在 Django-summernote 中更改图片上传大小限制

django - Django 中 View 和模板之间的职责划分

Django:使用urlresolver设置cookie路径

python - 如何修复此页面上的错误?