我有两个模型:消息和附件。 使用附件模型上的ForeignKey将每个附件附加到特定消息。 两个模型都有一个名为updated的auto_now DateTimeField。 我正在尝试这样做,以便在保存任何附件时,它还会将关联消息的更新字段设置为现在。 这是我的代码:

def save(self):
    super(Attachment, self).save()
    self.message.updated = self.updated

这有用吗,如果你可以解释一下,为什么? 如果没有,我将如何做到这一点?

===============>>#1 票数:7 已采纳

您还需要保存该消息。 然后它应该工作。

===============>>#2 票数:2

适当的版本是:(注意最后一行self.message.save()

class Message(models.Model):
    updated = models.DateTimeField(auto_now = True)
    ...

class Attachment(models.Model):
    updated = models.DateTimeField(auto_now = True)
    message = models.ForeignKey(Message)

    def save(self):
        super(Attachment, self).save()
        self.message.save()

===============>>#3 票数:1

调用save() ,带有auto_now的DateTime字段会自动更新,因此您无需手动更新它们。 Django将为您完成这项工作。

  ask by Ellen Teapot translate from so

未解决问题?本站智能推荐: