Django - auto_now在models.DateTimeField中使用哪个时区?

3 投票
1 回答
2277 浏览
提问于 2025-04-17 22:09

我希望我系统中的每个时间都使用协调世界时(UTC)。如果我使用自动更新时间的功能,怎么才能确保它会把Python的datetime设置为UTC时区呢?我想创建一个字段,具体如下:

class MyTable(models.Model):
    some_field        = models.ForeignKey(AnotherTable, null=False)
    last_modified_utc = models.DateTimeField(auto_now=True)

1 个回答

4

Django在它的 settings.py 文件里有一个叫 TIME_ZONE 的设置,用来处理任何时间和日期的对象。

USE_TZ 设置为 False 时,Django会在这个时区里存储所有的日期和时间。当 USE_TZ 设置为 True 时,这个时区就是Django在模板中显示日期和时间,以及解析用户在表单中输入的日期和时间时所用的默认时区。

所以,你可以把它设置为 UTC,因为这是一个有效的时区

撰写回答