在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))