Here is an example of how to delete an object using Django Rest Framework's APIView:

from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status

from .models import MyModel
from .serializers import MyModelSerializer

class MyModelDetailView(APIView):
    'Retrieve, update or delete a MyModel instance.'
    def get_object(self, pk):
        try:
            return MyModel.objects.get(pk=pk)
        except MyModel.DoesNotExist:
            raise Http404

    def get(self, request, pk, format=None):
        my_model = self.get_object(pk)
        serializer = MyModelSerializer(my_model)
        return Response(serializer.data)

    def put(self, request, pk, format=None):
        my_model = self.get_object(pk)
        serializer = MyModelSerializer(my_model, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    def delete(self, request, pk, format=None):
        my_model = self.get_object(pk)
        my_model.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)

In this example, the 'delete' method is used to delete a 'MyModel' instance when a DELETE request is made to the API endpoint for that instance. The 'get_object' method is used to retrieve the instance by its primary key (pk). Once the instance is retrieved, the 'delete' method is called on it, and a '204 No Content' response is returned to indicate that the resource has been successfully deleted.

Django REST Framework APIView Delete Example

原文地址: https://www.cveoy.top/t/topic/mxYI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录