pan*_*ore 6 sql django django-models django-orm
a = M.objects.filter(f__in=[None, 1])
a.query.__str__()
u'SELECT * FROM "app_m" WHERE "app_m"."f" IN (None, 1)'
Run Code Online (Sandbox Code Playgroud)
你不觉得那会IN (NULL, 1)吗?
喜欢:
a = M.objects.filter(f=None)
a.query.__str__()
u'SELECT * FROM "app_m" WHERE "app_m"."f" IS NULL'
Run Code Online (Sandbox Code Playgroud)
这是一个默认的SQL行为,django bug还是我错过了什么f__in=?
先感谢您!
a = M.objects.filter(Q(f__isnull=True) | Q(f__in=['1',...]))
Run Code Online (Sandbox Code Playgroud)