我有一个基于模型的视图,用户可以使用以下类别基于类别字段过滤项目模型:
Items.objects.filter(categories__in=[‘A’, ’B’, ‘C’])
但是,在某些情况下,类别字段为NULL,并且用户可能希望查看NULL和A类别的列表。所以我尝试了:
Items.objects.filter(categories__in=[None, ‘A’])
但这无法正常工作,我的结果仅显示A,B和C
当然,这是该问题的简化视图,因为列表是动态的,并且还有很多其他过滤器。
但是原理是一样的,如何在IN操作列表中包含None
谢谢
答案 0 :(得分:2)
Items.objects.filter(Q(categories__in=[‘A’, ’B’, ‘C’]) | Q(categories__isnull=True))