Django模型中的自动填充时间戳

whhtz7ly  于 2023-05-19  发布在  Go
关注(0)|答案(1)|浏览(537)

我想在Django模型中创建两个字段来创建对象。第一个字段是必需的,将使用内置的DateTimeField
第二个字段将采用与第一个字段中相同的数据,此外,应该可以在不更改第一个字段中的数据的情况下更新日期。
这是我的班级:

class MyClass(models.Model):
    ...
    created_at = models.DateTimeField(null=True)
    updated_at = models.DateTimeField(null=True)     # this field should take data 
    ...

我寻找满足我要求的内置模型,但找不到合适的。
带有auto_now_add的类不会显示任何字段。

class MyClass(models.Model):
    ...
    created_at = models.DateTimeField(**auto_now_add**=True)
    updated_at = models.DateTimeField(**auto_now**=True)    
    ...
lskq00tm

lskq00tm1#

要在Django模型中自动填充时间戳,您可以使用Django内置的DateTimeField或DateField字段提供的auto_now_add和auto_now选项。这些选项分别自动将字段值设置为创建或更新对象时的当前日期和时间。
以下是如何在Django模型中使用这些选项的示例:

from django.db import models

class MyModel(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

在上面的示例中,created_at将被设置为对象首次创建时的当前日期和时间,并且之后将不会被修改。另一方面,updated_at将在每次保存或更新对象时设置为当前日期和时间。
确保为模型添加必要的导入语句,并根据需要定义自己的模型字段。
通过使用这些选项,您可以消除在Django模型中手动设置时间戳的需要,因为框架会自动为您处理。

相关问题