【发布时间】:2014-05-25 14:20:17
【问题描述】:
在 settings.py 我有:
USE_TZ = True
TIME_ZONE = 'UTC'
在model.py中:
class Game(models.Model):
id = models.AutoField(primary_key=True)
creation_timestamp = models.DateTimeField(default=lambda: timezone.localtime(timezone.now()))
本地时间是根据使用中间件的用户时区设置的,在这种情况下是“欧洲/罗马”(所以 +0200)。
当我使用 Django admin 创建一个新的游戏实例时,在页面内显示的表单输入中,creation_timestamp 自动设置为2014-04-11 12:46:59+02,但是当我保存时
它和我检查我得到2014-04-11 12:46:59+02 的数据库,这不是我所期望的,因为根据文档,Django 应该在保存之前将所有时间戳转换为UTC。 (我使用 pgAdmin,而不是 Django admin 检查数据库数据)。
我错了吗?
【问题讨论】:
标签: django postgresql timezone models