如何在django中的算术查询中包含空值

use*_*218 4 python django

我有一个名为surface_areanull和float 的字段.

现在我无法设置它,default 0因为0表示业务规则中的其他内容.

我想执行这样的查询

Room.objects.filter(surface_area__lte=40)

但这不包括空值.

如何为lte查询包含空值

Jon*_*nts 5

You can check for null values like:

Room.objects.filter(surface_area__isnull=True)
Run Code Online (Sandbox Code Playgroud)

And combine that with your lte:

from django.db.models import Q
Room.objects.filter( Q(surface_area__lte=40) | Q(surface_area__isnull=True) )
Run Code Online (Sandbox Code Playgroud)