Python 获取过去几个小时的物品

Python 获取过去几个小时的物品,python,django,django-models,Python,Django,Django Models,在模型中有一个字段DateTimeField(),数据库存储格式为2015-09-21 17:37:11的值。如何作出选择,为最后几个小时。例如,示例中只有过去3小时的值。您需要手动构建日期引用,并在查询中使用它 from datetime import datetime, timedelta now = datetime.now() before = now - timedelta(hours=3) qs = MyModel.objects.filter(date__gte=before)

在模型中有一个字段
DateTimeField()
,数据库存储格式为2015-09-21 17:37:11的值。如何作出选择,为最后几个小时。例如,示例中只有过去3小时的值。

您需要手动构建日期引用,并在查询中使用它

from datetime import datetime, timedelta

now = datetime.now()
before = now - timedelta(hours=3)

qs = MyModel.objects.filter(date__gte=before)
作为参考,该模块。 请注意,如果在应用程序中使用区域设置感知时间(通过设置),则需要将获取当前时间的方式更改为:

from django.utils import timezone
now = timezone.now()
尝试:


这里的
[-3:]
是什么?另外,你不能对queryset进行负面索引,django会给你一个例外
AssertionError:不支持负面索引。
我误解了他的意思是3小时。
from datetime import datetime, timedelta

delta = datetime.now() - timedelta(hours=3)
Model.objects.filter(date_time__gte=delta)