【发布时间】:2017-10-25 11:29:33
【问题描述】:
无法在 Trunc 函数中更改 TImezone。它总是从 settings.py 获取时区
import pytz
ind = pytz.timezone('Asia/Calcutta')
查询:
queryset = Order.objects.annotate(date=TruncDate('created_at', tzinfo=ind)).values('date')
在检查queryset.query的sql查询时
SELECT DATE(CONVERT_TZ(`nm_order`.`created_at`, 'UTC', UTC)) AS `date` FROM `nm_order`
参考:Trunc in Django
但是对于Extract,它开始工作了
ORM:
queryset = Order.objects.annotate(date=ExtractDay('created_at',tzinfo=ind)).values('date')
查询:
SELECT EXTRACT(DAY FROM CONVERT_TZ(`nm_order`.`created_at`, 'UTC', Asia/Calcutta)) AS `date` FROM `nm_order`
我是否错过了Trunc 中的某些内容?
我的settings.py中的时区设置
IME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
【问题讨论】: