Python Django模型:Datetime auto_现在仅在更改特定字段时使用

Python Django模型:Datetime auto_现在仅在更改特定字段时使用,python,django,datetime,model,Python,Django,Datetime,Model,我有一个django模型,有几个列,这两个列: -是否已完成(布尔值) -完成日期时间(日期时间) 现在,我想在“完成”更改时自动更新datetime字段。有没有一个简单的方法?“自动”现在不起作用,因为我不想在更新“已完成”以外的其他字段时更新“日期时间”字段。覆盖模型保存方法: from django.utils import timezone from django.db import models class MyModel(models.Model): def save(se

我有一个django模型,有几个列,这两个列: -是否已完成(布尔值) -完成日期时间(日期时间)


现在,我想在“完成”更改时自动更新datetime字段。有没有一个简单的方法?“自动”现在不起作用,因为我不想在更新“已完成”以外的其他字段时更新“日期时间”字段。

覆盖模型保存方法:

from django.utils import timezone
from django.db import models

class MyModel(models.Model):

   def save(self, *args, **kw):
       if self.is_completed:
           self.completed_datetime = timezone.now()
       super(MyModel, self).save(*args, **kw)

您可以覆盖模型的
save
方法来实现这一点,这就是我现在所做的。这是最好的办法吗?是的。这是最干净的方式。我想OP想要改变,如果是真的话就不是了。@karthikr:是的,我想这个名字有点混乱。