Voglio registrare tutte le operazioni CRUD eseguite su Django Model Objects tramite framework REST implementato in django rest framework. Estendo viewsets.ModelViewSet per creare la mia classe viewSet personalizzata per la definizione degli endpoint dell'API REST.Come abilitare la registrazione delle operazioni CRUD di django rest api in django_admin_log?
5
A
risposta
0
Ci possono essere due diverse soluzioni ...
1.Use segnali Django per tenere traccia di ogni operazione in CRUD e fare il modello differente cui istanza viene creata per ogni signal.Something così ...
signals.py
@receiver(post_save, sender= Sender_model)
def crud_log(sender,created,**kwargs):
obj= kwargs.get('instance')
recipient=User.objects.get()
Notification.objects.create(
recipient= recipient,
comment= obj,
send_by=obj.supporter,
text= "%s has commented on %s" % (obj.supporter,obj.project)
)
return None
qui Notifica è un modello creato dall'utente per conservare il registro delle modifiche.
2. Un'altra soluzione è utilizzare django-simple-history.