我正在过滤Django查询,以便从现在开始的最后一个小时获得updatetime,模型有一个DateTimeField。你知道吗
这是为了获得所有更新时间,更新一小时前,我已经尝试使用日期时间.now()-时间增量(小时=1)和使用范围(最小值、最大值)
我使用的视图(泛型.ListAPIView):
模型
updatetime = models.DateTimeField(blank=True, null=True)
onehours = datetime.now() - timedelta(hours=1)
queryset = TbDevice.objects.filter(updatetime__gte=onehours).order_by('-updatetime')
这个代码应该返回上一个小时前的updatetime,例如在下午2点应该只返回上一个小时,但实际上所有具有相同日期的数据都出现了
我通过手动更改值updatetime进行检查,当最近的时间是14:57:00时,只有大于06:48:00的数据出现
两者都有影响吗? 不同类型 Update time in my DBin Postman
using timezone
Using timezone form django.utils the result iswith my current time
明白!!你知道吗
你在
Indonesia
(GMT+7)。您的DB(使用系统时区)和django(使用UTC时区)有7小时的时差。你知道吗请尝试使用时区感知日期时间格式进行查询。你知道吗
在postman中,您将得到
"updatetime": "2019-05-28T22:33:00+7:00"
响应中的T告诉我们您已经启用了时区支持。您已经设置了settings.USE_TZ
和settings.TIME_ZONE
。你知道吗希望这有帮助。如果你有任何问题,请告诉我。你知道吗
很乐意帮忙:)
这是为了你的知识:
根据评论,我认为您的模型是:
对于
createtime
和updatetime
,您应该使用有关详细信息,请查看auto_now和auto_now_add。你知道吗
相关问题 更多 >
编程相关推荐