Django模型:仅在更改特定字段时的日期时间auto_now

时间:2013-10-14 14:50:10

标签: python django datetime model

我有一个包含多个列的django模型,这两个:   - is_completed(boolean)   - completed_datetime(datetime)

现在我想在更改is_completed时自动更新日期时间字段。有一个简单的方法吗? Auto_now不起作用,因为当更新除is_completed之外的其他字段时,我不想更新datetime字段。

1 个答案:

答案 0 :(得分:0)

覆盖模型保存方法:

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)