删除django Rest框架中的多个对象

alp*_*pha 5 django django-rest-framework

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

视图.py

class ProductModelViews(viewsets.ModelViewSet):
        permission_classes  =(permissions.IsAuthenticated,)
        queryset = ProductModel.objects.all()
        serializer_class = TestProductModelSerializer
Run Code Online (Sandbox Code Playgroud)

alp*_*pha 7

我找到了解决方案

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')

Run Code Online (Sandbox Code Playgroud)