2013-03-04 102 views
1

我正在做一個postgres與日期時間字段與時區支持的表上查詢。我正在做一個獨特的選擇,將所有結果按一小時分組。Django刪除時區

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') 

但是當我迭代結果時,這一切都很好。它正在應用時區轉換。我試圖在沒有時區的情況下從數據庫中獲得直接價值。例如,如果它返回的值:當我使用訪問在Django視圖變量小時

05/03/2013 07 

以下:

for f in footage: 
    print f 

值是:

04/03/2013 21 

不限想法如何得到它應該是的結果?

乾杯,

回答

1

你能在額外的語句是做格式化功能正在對返回的查詢集取而代之的是一個純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,你可以使用

{% load tz %} 

{% localtime off %} 
    {{ value }} 
{% endlocaltime %}