usar trigger example español como before django django-signals

trigger - events django



Django: ¿cómo puedo saber si la señal post_save se activa en un nuevo objeto? (2)

Necesito hacer un poco de post-procesamiento de fondo en los objetos recién creados en Django. Este postproceso solo debe ejecutarse en objetos nuevos, no en objetos que se acaban de actualizar.

Sé que en pre_save puedo verificar si el objeto tiene una identificación, si no tiene, entonces es un objeto nuevo. Pero el problema es que en el postprocesamiento necesito acceder a la identificación (para poder guardar los resultados en la base de datos).

¿Cómo puedo hacer esto de una manera limpia?


Como https://docs.djangoproject.com/en/dev/ref/signals/#post-save declaró y @seler señaló, pero con un ejemplo:

def keep_track_save(sender, instance, created, **kwargs): action = ''save'' if created else ''update'' save_duplicate((instance.id, instance.__class__.__name__, action)) post_save.connect(keep_track_save, sender=Group)