gpt4 book ai didi

python - MYSQL Db 中的 Django 模型时间戳

转载 作者:行者123 更新时间:2023-11-30 21:27:26 24 4
gpt4 key购买 nike

我想在我的 MYSQL 数据库中将时间存储为 unix 时间戳,我有带模型的 django 项目:

date = models.DateField()

但是我没有找到任何models.Timestamp()或任何类似的东西。有没有办法在 Django 中为 MYSQL Db 创建时间戳列?我在堆栈上找到了一些文章,但它们已有 5 年以上历史,因此现在可能有更好的解决方案。

最佳答案

在 Django 中,通常使用 DateTimeField [Django-doc]为了那个原因。因此,它是一个存储日期和时间组合的列。

如果使用 auto_now_add=True [Django-doc] 构造或更新记录,可以让 Django 自动初始化(或更新)时间戳在创建记录时对其进行初始化,并且 auto_now=True [Django-doc]更新。因此,看到一个(基本)模型是一种常见的模式:

class TimestampModel(models.Model):
created = models.DateTimeField(<b>auto_now_add=True</b>)
updated = models.DateTimeField(<b>auto_now=True</b>)

class Meta:
abstract = True

因此 TimestampModel 的子类因此有两个额外的列 createdupdated 存储对象创建和最后更新的时间分别。

datetime 列具有更大的范围,如 MySQL documentation 中指定的那样:

The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD hh:mm:ss' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'.

The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.

关于python - MYSQL Db 中的 Django 模型时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58200502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com