在我的客户模型中,我有两个日期时间字段,用于存储创建和更新的时间。
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
当我创建客户时,现在它将当地时间存储在数据库中,当我通过API获取此客户数据时,它将以gmt时间返回日期时间。这可以。但我想在数据库中保存gmt时间。我认为将当地时间存储在数据库中并不是一个好习惯。
settings.py文件中的日期设置为
{{1}}
我已经安装了“pip install pytz”模块,我的数据库是postgresql。
答案 0 :(得分:4)
最佳做法是将其保存为UTC格式。
在您的设置中 %JBOSS_HOME%\bin
,Django将日期和时间信息以UTC格式存储在数据库中,否则它将存储天真的日期时间
答案 1 :(得分:0)
您是最严格的,最佳做法是在UTC中保存您的日期时间字段,并使用pytz
或使用tz
标记在您的模板中将其转换为您方便的视图。
IE,您可以使用pytz在视图中的特定日期时间转换日期时间
import pytz
datetime_with_new_tz = object.created_at.astimezone(pytz.timezone(YOUR_LOCAL_TIMEZONE))`
如果您想在模板中转换时区,可以使用tz
{% load tz %}
{{object.created_at|timezone:YOUR_LOCAL_TIMEZONE}}