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)
?Django Queryset __in列表中没有任何值
喜欢:
a = M.objects.filter(f=None)
a.query.__str__()
u'SELECT * FROM "app_m" WHERE "app_m"."f" IS NULL'
这是一个默认的SQL行为,Django的错误或我失踪f__in=
的东西吗?
谢谢你提前!
这使得这样的查询:WHERE(。 “app_m”, “F” IN(1,2)和 “app_m” “F” 是NULL)”这不包括(1,2,NULL) – panchicore 2013-03-12 21:35:25
不要忘记导入'Q':'from django.db.models import Q' – Yoone 2015-05-11 23:39:59