【问题标题】:Last Update field in Django... 'auto_now' or 'hidden' widgetDjango 中的上次更新字段...“auto_now”或“隐藏”小部件
【发布时间】:2021-01-29 11:50:20
【问题描述】:

我想在 Django 模型中设置一个字段,每次对应表的记录由 ModelForm(表的任何字段)更新时都应该更新该字段。 我想知道以下哪个选项是最佳做法:

  • 将“auto_now”参数添加到模型字段。
  • 将'type': 'hidden' 属性添加到将提交记录的表单中的相应小部件中。如果这样...应该如何包含小部件的“值”属性?

我知道 auto_now 参数仅在调用 Model.save() 时更新字段。所以这个问题可以重新构建为......提交 ModelForm(链接到模型)时是否调用了 Model.save()?

非常感谢。

【问题讨论】:

    标签: django datetime


    【解决方案1】:

    auto_now 每次保存对象时自动将字段设置为现在。

    所以要保存更新的记录时间 auto_now 是最好的选择

    date_created = models.DateTimeField(auto_now_add=True)
    date_updated = models.DateTimeField(auto_now=True)
    

    https://docs.djangoproject.com/en/3.1/ref/models/fields/#datefield

    【讨论】:

    • 感谢您的回答。我将通过表单提交来创建和修改记录,我希望它有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 2016-11-02
    • 2023-03-17
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    相关资源
    最近更新 更多