django do django有像cakephp一样的自动时间戳创建/更新字段吗?

bha*_*ral 12 django

过去曾经使用过cakephp,有一件事(也许是唯一的东西?)我喜欢它,它有一个"创造"和"更新"的时间戳功能很可爱 - 简单地说,当你第一次添加一个项目时,"创建"日期已设置(假设您将其命名为right - create_date,我认为)

此后的任何时间,如果执行了更新,则将"更新"字段设置为当前时间.

django也有这个吗?如果是这样,我应该用什么/如何命名这些字段来让它们接收它们?

小智 23

它不会添加到每个表中内置的模型中.您必须将其作为字段添加到模型中.

class Message(models.Model):

    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,消息是您的表名.


okm*_*okm 19

当然有!

检查auto_nowauto_now_add文档中

  • 从[source](https://docs.djangoproject.com/en/dev/_modules/django/db/models/fields/#DateTimeField)看来,它们是互斥的。但是您能帮您解释一下区别吗?尚不清楚“ auto_now”和“ auto_now_add”之间的区别是什么。 (2认同)
  • 也许 [this](https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.DateField.auto_now) 更清楚。`auto_now` 在每次编辑时生成,`auto_now_add` 仅在创建时生成。 (2认同)