Django删除Timezon

2024-10-04 05:22:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在postgres中对一个表执行查询,其中包含一个支持时区的datetime字段。我在做一个不同的选择,把一天中所有的结果按小时分组。在

footage = IpCameraFootage.objects.filter(ipCamera=c, start__gte=start, end__lte=end).extra(select={'hours': "to_char(start,'dd/mm/yyyy hh24')"}).values_list('hours', flat=True).distinct().order_by('hours')

不过,当我对结果进行迭代时,这一切都非常有效。它正在应用时区转换。我试着从数据库中得到不带时区的直接值。例如,如果返回值:

^{pr2}$

当我使用以下命令访问django视图中的hours变量时:

for f in footage:
   print f

值为:

04/03/2013 21

有什么办法得到结果吗?在

干杯


Tags: datetimeobjectspostgresfilterselectextrastartend
1条回答
网友
1楼 · 发布于 2024-10-04 05:22:01

在返回的queryset上,可以用纯python命令替换额外语句中的格式化函数吗?在

有点像

from django.utils.timezone import utc

for f in footage:
    print('{0:%d/%m/%Y %H}':format(f.start.replace(tzinfo=utc)))

否则,在模板中,根据django docs,可以使用

^{pr2}$

相关问题 更多 >