Vra

Ek het twee modelle: Boodskap en Attachment. Elke skakel is na 'n spesifieke boodskap aangeheg, met behulp van 'n ForeignKey op die Attachment model. Beide modelle het 'n auto_now DateTimeField genoem opgedateer. Ek probeer om dit te maak sodat wanneer enige beslaglegging is gered, dit ook stel die opgedateer veld op die verband boodskap aan nou. Hier is my kode:

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

Sal dit werk, en as jy dit kan verduidelik aan my, hoekom? Indien nie, hoe sal ek dit vir mekaar?

Was dit nuttig?

Oplossing

Jy sal ook nodig om dan die boodskap te red. Dan is dit dat moet werk.

Ander wenke

Datum tyd velde met auto_now word outomaties opgedateer op 'n beroep save(), sodat jy nie nodig het om hulle met die hand te werk. Django sal hierdie werk vir jou doen.

Behoorlike weergawe te werk is: (aandag aan laaste reël 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()
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top