`TimeStampedModel` 的 `modified` 字段在 Django >= 4.2 中可能未被更新
作者: interDist创建于 2025年11月8日更新于 2025年12月10日
Django 4.2 修改了 `Model.save()` 方法的要求: “在调用 `super()` 之前,应将自定义 `save()` 方法中修改的任何字段添加到 `update_fields` 关键字参数中” (https://docs.djangoproject.com/en/stable/releases/4.2/#setting-update-fields-in-model-save-may-now-be-required)。在更新我的代码和测试以满足此新要求时,我注意到 TimeStampedModel 不满足此要求。如果调用基于 TimeStampedModel 的模型的 `save()` 方法,并指定 `update_fields` 参数,则 `modified` 字段不会被保存到数据库,正如可以预期的那样。顺便说一句,此方法也适用于 ActivatorModel,但我的代码并未使用它。
内容来源: django-extensions/django-extensions