如何在 Django 中过滤 DateTimeField 的日期?

新手上路,请多包涵

我正在尝试过滤 DateTimeField 与日期进行比较。我是说:

 MyObject.objects.filter(datetime_attr=datetime.date(2009,8,22))

我得到一个空的查询集列表作为答案,因为(我认为)我没有考虑时间,但我想要“任何时间”。

在 Django 中有一种简单的方法可以做到这一点吗?

我在日期时间设置了时间,它不是 00:00

原文由 Xidobix 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 295
1 个回答

此类查找在 django.views.generic.date_based 中实现,如下所示:

 {'date_time_field__range': (datetime.datetime.combine(date, datetime.time.min),
                            datetime.datetime.combine(date, datetime.time.max))}

因为它非常冗长,所以计划使用 __date 运算符改进语法。查看“ #9596 将 DateTimeField 与日期进行比较太难了”以获取更多详细信息。

原文由 Piotr Czapla 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题