我使用的是Django 2.2
我有一个created字段,DateTime类型。
我使用下面的命令来过滤大于特定日期的记录
q.filter(created__year__gte=2020, created__month__gte=3, created__day__gte=1)在我的数据库中,有3月(3个)月和更多月份的记录,但2月(2)没有记录。
当执行上述命令时,它会给出大于3月1日的查询集数据列表。但是当我使用以下命令时
q.filter(created__year__gte=2020, created__month__gte=2, created__day__gte=28)如果月份为2月(2),则不提供任何数据,查询集为空白。
使用datetime对象会产生错误
received a naive datetime (2020-03-01 00:00:00) while time zone support is active为什么筛选器不能使用gte,即使月份小于3
发布于 2020-03-25 06:51:38
发布于 2020-03-13 08:41:25
你为什么要这样过滤?在你的情况下,这是完全不必要的。严格按日期过滤
q.filter(created__gte=datetime.datetime(2020, 3, 1))发布于 2020-03-13 09:34:55
使用:
q.filter(created__date__gte=datetime.date(2020, 3, 1))关于过滤器,它在月< 3的时候工作得很好,但是如果指定这一天> 28,那么它已经将结果集缩小到每个月29至31天之间的数据,而不仅仅是2月,而且很可能不是您想要的数据。
https://stackoverflow.com/questions/60666809
复制相似问题