没有时间的DateTimeField

时间:2013-01-16 19:02:36

标签: django

class Data(models.Model):
    time = models.DateTimeField()

我的变量中有:

var = 2013-01-17 17:30

Data.objects.filter(time=var)

我需要从今天开始的所有数据(2013-01-17 - 没有时间)

怎么办?

3 个答案:

答案 0 :(得分:10)

我遇到了同样的问题,只需使用models.DateField()代替models.DateTimeField()即可解决问题。

答案 1 :(得分:1)

似乎没有一种非常简单的方法可以做到这一点。请参阅How can I filter a date of a DateTimeField in Django?

您可以使用strptime从字符串中获取日期时间(Converting string into datetime):

from datetime import datetime

datetime.strptime(var, '%Y-%m-%d %H:%M:%S')

答案 2 :(得分:0)

您可以在过滤器内使用范围

Data.objects.filter(date__range=(date_min, date_max))

您可以设置00.00到23.59之间的时间