我有以下两种模式:
class Blog(TimeStampedModel):
summary = models.TextField()
status = models.CharField(max_length=255)
class Entry(TimeStampedModel):
author = models.CharField(max_length=255)
text = models.TextField()
blog = models.ForeignKey(Blog, models.CASCADE, related_name='entries')
两个模型都对一个公共元模型进行了子类化,该模型定义了每个模型上次更新时间的时间戳:
class TimeStampedModel(models.Model):
last_changed = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
单独保存每个模型时,此工作正常。但是,在我的用例中,当Entry
更新时,它还应反映在相关last_changed
的{{1}}时间戳的更新中。
有没有简单的方法可以告诉Django还会破坏相关模型的时间戳?
答案 0 :(得分:1)
我承认这很麻烦,但您可以覆盖save
模型的Entry
方法:
def save(self, *args, **kwargs):
self.blog.save()
super().save(*args, **kwargs)