列表中没有值的Django Queryset __in [英] Django Queryset __in with None value in list

查看:79
本文介绍了列表中没有值的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆