在Django中,如何筛选同一字段中的空值和特定值?

在Django中,如何筛选同一字段中的空值和特定值?,django,django-models,django-filters,Django,Django Models,Django Filters,这是我的一个模型中的一个字段: year = models.ForeignKey(Year, blank=True, null=True) 现在我想得到该模型的所有对象,其year字段为null或specific\u year 这就是我所尝试的: MyModel.objects.filter(year__isnull=True, year=specific_year) MyModel.objects.filter(year__isnull=True).filter(year=specific_

这是我的一个模型中的一个字段:

year = models.ForeignKey(Year, blank=True, null=True)
现在我想得到该模型的所有对象,其
year
字段为
null
specific\u year

这就是我所尝试的:

MyModel.objects.filter(year__isnull=True, year=specific_year)
MyModel.objects.filter(year__isnull=True).filter(year=specific_year)
MyModel.objects.filter(year__in=[specific_year, None])
但他们都给了我一个空洞的结果

我是Django的新手,所以也许我在这里遗漏了什么,但我在文档中找不到答案。因此,如何筛选
年份
字段为
null
特定年份
的所有对象?

您可以使用

默认情况下,使用
或嵌套过滤将产生
结果,而您需要
结果,您可以使用
Q

from django.db.models import Q

MyModel.objects.filter(Q(year__isnull=True) | Q(year=specific_year))