2008-08-21 2 views
9

메시지 및 첨부 파일이라는 두 가지 모델이 있습니다. 각 첨부 파일은 첨부 파일 모델에서 ForeignKey를 사용하여 특정 메시지에 첨부됩니다. 두 모델 모두 업데이트 된 auto_now DateTimeField가 있습니다. 첨부 파일이 저장 될 때 관련 메시지의 업데이트 된 필드를 지금 설정하도록 만들려고합니다. 여기에 내 코드입니다 :Django가있는 상위 모델에서 auto_now DateTimeField를 업데이트하십시오.

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

윌이 작품은, 당신이 나에게 그것을 설명 할 수 있다면, 왜? 그렇지 않다면 어떻게해야합니까?

답변

6

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

1

auto_now가있는 DateTime 필드는 save()을 호출하면 자동으로 업데이트되므로 수동으로 업데이트하지 않아도됩니다. 장고는 당신을 위해이 일을 할 것입니다.

작업에
0

적절한 버전입니다 :

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() 
(마지막 줄 self.message.save()에주의)
관련 문제