2014-10-17 2 views
5

Я хочу зарегистрировать все операции CRUD, выполненные на объектах модели Django, через структуру REST, реализованную в рамках django rest. Я расширяю viewets.ModelViewSet, чтобы создать свой собственный класс viewSet для определения конечных точек API REST.Как включить ведение журнала операций django api CRUD в django_admin_log?

ответ

0

Там может быть два различных решения ...

1.Use сигналы в Джанго, чтобы следить за каждой операции CRUD и сделать другую модель, экземпляр создается для каждого signal.Something, как это ... .

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 

Здесь Уведомление - это модель, сделанная вами для ведения журнала изменений.

2. Еще одно решение - использовать django-simple-history.

Смежные вопросы