我正在尝试过滤与日期进行比较的DateTimeField
。我的意思是:
MyObject.objects.filter(datetime_attr=datetime.date(2009,8,22))
我得到一个空的查询集列表作为答案,因为(我认为)我没有考虑时间,但我想要“任何时间”。
在Django中有什么简单的方法可以做到这一点吗?
我设置了datetime中的时间,它不是00:00
。
发布于 2009-12-29 18:23:03
这样的查找在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 Comparing a DateTimeField to a date is too hard“了解更多详细信息。
发布于 2009-08-23 04:02:36
YourModel.objects.filter(datetime_published__year='2008',
datetime_published__month='03',
datetime_published__day='27')
//注释后编辑
YourModel.objects.filter(datetime_published=datetime(2008, 03, 27))
doest不起作用,因为它创建了一个时间值设置为0的datetime对象,因此数据库中的时间不匹配。
发布于 2015-08-28 20:44:38
现在Django有了__date查询集过滤器来根据开发版本中的日期查询datetime对象。因此,它将很快在1.9中可用。
https://stackoverflow.com/questions/1317714
复制相似问题