更新相关模型的时间戳

时间:2018-04-25 15:24:31

标签: django django-models timestamp

我有以下两种模式:

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还会破坏相关模型的时间戳?

1 个答案:

答案 0 :(得分:1)

我承认这很麻烦,但您可以覆盖save模型的Entry方法:

def save(self, *args, **kwargs):
    self.blog.save()
    super().save(*args, **kwargs)