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.

APIView delete example

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

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