Bir üst modelinde Django'ya w / auto_now DateTimeField güncelleme

oy
9

Mesaj ve Ek: Ben iki model var. Her eki Ek modeline bir ForeignKey kullanarak belirli iletiye eklenir. Her iki model DateTimeField güncellenmiş denilen bir auto_now var. Ben herhangi bir eki kaydedildiğinde, bu da artık ilişkili mesaja güncellenme alanı oluşturuyor, böylece bunu yapmak için çalışıyorum. İşte benim kod:

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

Bu çalışır ve bunu bana açıklayabilir, neden? Değilse, nasıl bunu gerçekleştirmek ki?

Oluştur 21/08/2008 saat 18:41
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
6

Ayrıca daha sonra mesajı kaydetmek gerekir. Sonra o çalışmalıdır.

Cevap 21/08/2008 saat 18:57
kaynak kullanıcı

oy
1

Auto_now ile DateTime alanları otomatik çağrı üzerine güncellenir save(), böylece onları el güncellemeniz gerekmez. Django sizin için bu işi yapacağız.

Cevap 16/09/2008 saat 12:44
kaynak kullanıcı

oy
0

Işe uygun versiyonu: (son çizgiye dikkat 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()
Cevap 31/10/2015 saat 06:11
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more