gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:58:30 25 4
gpt4 key购买 nike

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

最佳答案

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

1.在django中使用signals来跟踪CRUD中的每个操作,并为每个操作创建不同的模型 signal.Something like this....

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

这里的 Notification 是您制作的一个模型,用于记录更改。

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

关于python - 如何在 django_admin_log 中启用 django rest api CRUD 操作的日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26417160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com