为什么时间与settings.py中的TIME_ZONE不同

时间:2015-06-02 06:30:33

标签: django sqlite datetime timezone

我在项目数据库中使用Sqlite。 我需要在我的模型中使用日期和时间,所以我正在使用这个字段。

date = models.DateTimeField()

在结果模板(results.html)上,时间正确(我的settings.py中的localtime或TIME_ZONE) 问题是,当我在Django管理页面和sqlite db文件上检查数据库时,似乎我的时区设置没有应用。(所以,也许是UTC)

问题是什么?如何解决这个问题?

我认为模板的参数来自视图,因此timezone.now()是正确的并且传递了正确的时间。 所以我的猜测是'date = timezone.now()'传递给sqlite,如下所示:

insert into table values (date=datetime('now'))'

并且sqlite的时区可能设置为UTC默认值。

这就是我的猜测。我对吗?另外我不知道如何设置sqlite数据库时区...

p.s另一方面,我也认为当我们设置settings.py TIME_ZONE时,django会管理所有这些事情。 所以不知道在哪里接近。在这个问题上花了差不多2天......

1 个答案:

答案 0 :(得分:6)

在settings.py中,设置

USE_TZ = False

可以解决这个问题