Deseo que se notifique a los administradores cuando se eliminan ciertos objetos, pero también quiero determinar qué usuario está realizando la eliminación.Django: determine qué usuario está eliminando al usar la señal post_delete
¿Es posible?
Este es el código:
# models.py
# signal to notify admins when nodes are deleted
from django.db.models.signals import post_delete
from settings import DEBUG
def notify_on_delete(sender, instance, using, **kwargs):
''' Notify admins when nodes are deleted. Only for production use '''
if DEBUG:
#return False
pass
# prepare context
context = {
'node': instance,
'site': SITE
}
# notify admins that want to receive notifications
notify_admins(instance, 'email_notifications/node-deleted-admin_subject.txt', 'email_notifications/node-deleted-admin_body.txt', context, skip=False)
post_delete.connect(notify_on_delete, sender=Node)
¿No sería mejor si la señal se disparó por el modelo en lugar de la ¿ver? Por lo tanto, la interfaz de administración y el código de terceros todavía funcionarían? –
@Jack M. Supongo que sería mejor, pero ¿cómo se puede saber qué 'Usuario' está haciendo la eliminación sin una' solicitud'? –