Django日期时间比较

时间:2011-12-12 19:58:16

标签: python django datetime

我正在尝试在Django应用中找到日期时间字段比当前日期时间早的记录。

我有这样的事情:

records = Record.objects.filter(my_field__lte=datetime.now())

但是,它只查找日期早于今天的记录(如果有比现在更早的记录,但在今天的日期,则不会返回。)

编辑:只是为了澄清。如果该字段设置为19:59:00 12-10-2011,当前时间是20:00:00 12-10-2011,那么我希望在查询集中返回此记录。但是,在第二天运行查询之前,它实际上并未返回。 (它在cronscript上每五分钟运行一次,用于根据此日期时间字段发送电子邮件)

希望能够解决它。

BTW,我正在使用MySQL

有人可以帮忙吗?

任何建议表示赞赏。

由于

2 个答案:

答案 0 :(得分:1)

检查数据库是否可以看到时间属性,接下来检查模型中是否有models.DateTimeField而没有models.DateField错误

答案 1 :(得分:0)

只测试明天午夜而不是现在:

now = datetime.now()
midnight = datetime(now.year, now.month, now.day+1, 0, 0, 0)

records = Record.objects.filter(my_field__lt=midnight)

或者您可以使用date.todaytimedelta来获得相同的效果:

from datetime import date, timedelta

tomorrow = date.today() + timedelta(days=1)
records = Record.objects.filter(my_field__lt=tomorrow)