在 django rest 框架中删除多个对象

Posted

技术标签:

【中文标题】在 django rest 框架中删除多个对象【英文标题】:Delete multiple objects in django rest framework 【发布时间】:2020-06-15 14:24:55 【问题描述】:

我需要删除表中的所有对象。有可能有一个请求“ http://localhost:8000/api/products/delete_all/" 当我发出获取请求时,我删除了所有对象。 我看到了这个解决方案Delete multiple objects in django,但我不知道是否可以在 MoldeViewSet 中实现它。

Views.py

class ProductModelViews(viewsets.ModelViewSet):
        permission_classes  =(permissions.IsAuthenticated,)
        queryset = ProductModel.objects.all()
        serializer_class = TestProductModelSerializer

【问题讨论】:

【参考方案1】:

我找到了解决办法

class ProductModelViews(viewsets.ModelViewSet):
        permission_classes  =(permissions.IsAuthenticated,)
        queryset = ProductModel.objects.all()
        serializer_class = TestProductModelSerializer

        @action(detail=False, methods=['post'])
        def delete_all(self, request):
                Product.objects.all().delete()
                return Response('success')

【讨论】:

以上是关于在 django rest 框架中删除多个对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在单个帖子中更新多个实例 - django rest 框架

序列化多个模型并在一个 json 响应中发送全部 django rest 框架

如何在 Django REST 框架中使用事务?

使用 Django REST 框架从多个模型返回结果

如何使用 rest_framework 和 Django 获取多个对象的响应

django rest框架中多个视图的相同验证