DateTimeField获取超过48小时的所有对象

时间:2014-05-13 03:50:50

标签: django

我正在尝试找到一种基于datetimefiled进行基于文件管理器的查询的直接方法。我尝试过像

这样的事情
timeDiff = datetime.datetime.now(pytz.utc) - latest_order.date
days = timeDiff.days
if days <= 2:

但它总是给我RuntimeWarning: DateTimeField received a naive date time警告。有没有更好的方法来激发这些查询?我怎么能做,例如,filer并选择48小时前创建的所有对象?

这样的事情会是正确的做法吗?

example = Example_Request.objects.filter(date_created__gte=datetime.datetime.today()-datetime.timedelta(days=2))

2 个答案:

答案 0 :(得分:5)

是的,您发布的查询是正确的方法。但是,如果您想要在48小时前创建对象,则需要将其更改为date_created__lte。此外,您可以将小时数传入timedelta。例如:datetime.timedelta(hours=48)

相关链接:

答案 1 :(得分:0)

要避免天真的日期时间警告,您可能需要切换:

datetime.now()

有:

timezone.now()