如何在django_admin_log中启用django rest api CRUD操作的日志记录?

Abh*_*rma 7 python django django-models django-rest-framework

我想通过django rest框架中实现的REST框架记录在Django Model Objects上执行的所有CRUD操作.我扩展了viewsets.ModelViewSet来创建我的自定义viewSet类来定义REST API端点.

Amr*_*rit 2

可能有两种不同的解决方案...

1.使用django中的信号来跟踪CRUD中的每个操作,并制作不同的模型,为每个信号创建实例。像这样......

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
Run Code Online (Sandbox Code Playgroud)

这里的通知是您创建的用于保存更改日志的模型。

2.另一个解决方案是使用django-simple-history