Bho*_*sun 5 django django-models
auto_now如果和被混淆就会遇到问题auto_now_add。如何做auto_now或auto_now_add工作?
auto_now:每次使用时都会创建时间models.save(),但models.create()如果使用则不起作用query.update(),它只更新一些数据,但不会自动更新日期
auto_now_addmodels.save():只有第一次使用或时才会创建时间models.create()
应该如何使用它们?
auto_now_add应该与 一起使用created_date并auto_now应该与 一起使用updated_date
created_date = models.DateTimeField(auto_now_add = True)
updated_date = models.DateTimeField(auto_now = True)
Run Code Online (Sandbox Code Playgroud)
小智 7
回答你的问题:如何最好地使用auto_now_addvs auto_now?- 您将它们与 DateTimeField 或 DateField 一起使用的想法是完全正确的!
auto_now_add仅当第一次创建并保存模型实例时,非常适合对模型上的字段进行一次性修改。正如您所指出的,这对于created_atortimestamp字段永远不需要再次更改来说非常有用。
auto_now每当您需要在模型实例上调用 .save() 方法时更改字段时,这都很棒。updated_at正如你提到的,这将是一个很好的机会。
然而,这两者是互斥的,如auto_now 和 auto_now_add 之间的差异中所述- 因此不要创建模型字段并传递两个参数!
你的假设是合理的;只是想确认一下:)
| 归档时间: |
|
| 查看次数: |
4684 次 |
| 最近记录: |