我正在使用Django
数据库进行Postgresql
项目。
我有ID列表,即列值,我想从数据库中提取行。
Id列表:
[238348, 238349, 238350, 1000]
(Id rang不按顺序排列。)
对于单个id值:
>>> page.objects.filter(id=238348)
[<page: o-0238348>]
我可以使用for
循环来迭代每个ID并获取行,但是有没有像OR这样的方法来提取行?
修改 完成了
我们可以使用in
:
演示:
>>> page.objects.filter(id__in=[238348,238349, 1])
[<page: o-0238349>, <page: o-0238348>]
答案 0 :(得分:1)
您正在寻找in字段查找:
page.objects.filter(id__in=[238348, 238349, 238350, 1000])
答案 1 :(得分:1)
确实是in
解决方案,其他方式是使用Q
- 对象。有关文档,请参阅https://docs.djangoproject.com/en/1.7/topics/db/queries/#complex-lookups-with-q-objects。
答案 2 :(得分:0)
这是in
的工作:
演示:
>>> page.objects.filter(id__in=[238348,238349, 1])
[<page: o-0238349>, <page: o-0238348>]