我有一个模型(1),其中一个字段指向另一个模型(2)。我有一个来自模型(2)的值列表,我想在模型(1)中过滤所有这些值。
基本上我想这样做:
SomeModel.objects.filter(field1=x OR field1=y OR field1=z)
这是可能的,在文档中找不到任何内容。
答案 0 :(得分:9)
如果你想将它们“或”在一起,Q对象应该可以帮助你实现这个目标:
from django.db.models import Q
Samplemodel.objects.filter(Q(field1='x') | Q(field1='y'))
参考链接:http://docs.djangoproject.com/en/dev/topics/db/queries/#complex-lookups-with-q-objects
答案 1 :(得分:0)
您可以使用field1__in=['x', 'y']
Samplemodel.objects.filter(field1__in=['x', 'y'])