Django models 如何使用filter()在Django ORM中过滤两个不同值上的相同字段?

Django models 如何使用filter()在Django ORM中过滤两个不同值上的相同字段?,django-models,Django Models,我有一个模型(1),其中一个字段指向另一个模型(2)。我有一个来自模型(2)的值列表,我想对模型(1)中的所有对象进行过滤 基本上我想这样做: SomeModel.objects.filter(field1=x OR field1=y OR field1=z) 这是可能的,在文档中找不到任何内容。如果您想将它们“或”在一起,Q对象应该帮助您实现这一点: from django.db.models import Q Samplemodel.objects.filter(Q(field1='x')

我有一个模型(1),其中一个字段指向另一个模型(2)。我有一个来自模型(2)的值列表,我想对模型(1)中的所有对象进行过滤

基本上我想这样做:

SomeModel.objects.filter(field1=x OR field1=y OR field1=z)

这是可能的,在文档中找不到任何内容。

如果您想将它们“或”在一起,Q对象应该帮助您实现这一点:

from django.db.models import Q
Samplemodel.objects.filter(Q(field1='x') | Q(field1='y'))

参考链接:

您可以使用
field1\uu in=['x','y']来执行此操作。

Samplemodel.objects.filter(field1__in=['x', 'y'])