Pregunta

Tengo dos modelos:Mensaje y archivo adjunto.Cada archivo adjunto se adjunta a un mensaje específico, utilizando una ForeignKey en el modelo de archivo adjunto.Ambos modelos tienen un auto_now DateTimeField llamado actualizado.Estoy intentando que cuando se guarde cualquier archivo adjunto, también establezca el campo actualizado en el mensaje asociado en ahora.Aquí está mi código:

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

¿Funcionará? Si puedes explicármelo, ¿por qué?Si no, ¿cómo podría lograr esto?

¿Fue útil?

Solución

También deberá guardar el mensaje.Entonces eso debería funcionar.

Otros consejos

Los campos DateTime con auto_now se actualizan automáticamente al llamar save(), por lo que no es necesario actualizarlos manualmente.Django hará este trabajo por ti.

La versión adecuada para funcionar es:(atención a la última línea 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()
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top