列表中没有值的Django Queryset __in [英] Django Queryset __in with None value in list
本文介绍了列表中没有值的Django Queryset __in的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
a = M.objects.filter(f__in=[None, 1])
a.query.__str__()
u'SELECT * FROM "app_m" WHERE "app_m"."f" IN (None, 1)'
您认为那样不会是 IN(NULL,1)
?
like:
a = M.objects.filter(f=None)
a.query.__str__()
u'SELECT * FROM "app_m" WHERE "app_m"."f" IS NULL'
这是默认的SQL行为,Django错误还是我丢失了 f__in =
的东西?
Is this a default SQL behavior, django bug or I am missing something with f__in=
?
提前谢谢!
推荐答案
a = M.objects.filter(Q(f__isnull=True) | Q(f__in=['1',...]))
这篇关于列表中没有值的Django Queryset __in的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文