【发布时间】:2016-09-29 05:44:33
【问题描述】:
我正在将 Django 用于 Web 应用程序,并且我想实现一些代码来检测模型中的更改(并使用它来更新模型)。我摆弄了save:
class MyModel(models.Model):
def save(self, *args, **kw):
if self.somevalue == 0:
self.someothervalue = timezone.now()
else:
self.someothervalue = None
super(MyModel, self).save(*args, **kw)
但是当somevalue 已经是 0 时,这也会将someothervalue 更新为timezone.now()。我希望它只在它变为 0 时更新。 p>
我该怎么做?
【问题讨论】:
-
听起来你想使用signals。
-
@solarissmoke 我检查了,但我似乎没有“旧”实例,就像我在数据库中使用更新触发器一样。
标签: django django-models