我在 Django
模型字段的属性中理解的是
auto_now
- 每次调用 Model.save() 时将字段值更新为当前时间和日期。auto_now_add
- 用创建记录的时间和日期更新值。
我的问题是,如果在模型中提交的同时包含 auto_now
和 auto_now_add
设置为 True 怎么办?在那种情况下会发生什么?
原文由 Sukumar 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在 Django
模型字段的属性中理解的是
auto_now
- 每次调用 Model.save() 时将字段值更新为当前时间和日期。auto_now_add
- 用创建记录的时间和日期更新值。我的问题是,如果在模型中提交的同时包含 auto_now
和 auto_now_add
设置为 True 怎么办?在那种情况下会发生什么?
原文由 Sukumar 发布,翻译遵循 CC BY-SA 4.0 许可协议
根据 django 文档,在您的模型字段中同时使用 auto_now
和 auto_now_add
作为 True
将导致错误,因为它们是互斥的。
原文由 Oladapo Oluwaseyi Bolarinwa 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答862 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
auto_now
优先(显然,因为它每次都更新字段,而auto_now_add
仅在创建时更新)。这是DateField.pre_save
方法的代码:如您所见,如果设置了
auto_now
或同时设置了auto_now_add
并且对象是新的,则该字段将接收当前日期。DateTimeField.pre_save
相同: