문제

두 가지 모델이 있습니다.메시지 및 첨부 파일.각 첨부 파일은 첨부 파일 모델의 ForeignKey를 사용하여 특정 메시지에 첨부됩니다.두 모델 모두 업데이트된 auto_now DateTimeField를 가지고 있습니다.첨부 파일이 저장되면 관련 메시지의 업데이트된 필드도 지금으로 설정되도록 만들려고 합니다.내 코드는 다음과 같습니다.

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

이것이 효과가 있을까요? 나에게 설명해 주실 수 있다면 그 이유는 무엇입니까?그렇지 않다면 어떻게 이 작업을 수행할 수 있습니까?

도움이 되었습니까?

해결책

그런 다음 메시지를 저장해야 합니다.그러면 작동할 것입니다.

다른 팁

auto_now가 있는 DateTime 필드는 호출 시 자동으로 업데이트됩니다. save(), 이므로 수동으로 업데이트할 필요가 없습니다.Django가 이 작업을 수행할 것입니다.

작동하기에 적합한 버전은 다음과 같습니다.(마지막 줄에주의 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()
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top