You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django中使用可为空DateTimeField过滤的异常问题

问题解决:过滤包含null值的DateTimeField记录

你当前的查询逻辑有问题:两个过滤条件是AND关系,要求last_user_action_time同时满足「小于等于day_start」和「为null」,这显然不可能同时成立,所以返回空查询集。

要实现「包含字段为null的记录,同时包含字段值小于等于day_start的记录」,需要用Django的Q对象实现OR逻辑,代码如下:

from django.db.models import Q

notification_objects = SinglePushNotification.objects.filter(
    Q(last_user_action_time__lte=day_start) | Q(last_user_action_time__isnull=True)
).select_related("customer")

Q对象通过|符号连接两个条件,代表逻辑或,这样查询就会匹配两种情况的记录:要么last_user_action_time为null,要么其值小于等于day_start。

内容的提问来源于stack exchange,提问作者B. Mohammad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 08:45:33