Django REST Framework APIView Delete Example
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.
原文地址: https://www.cveoy.top/t/topic/mxYI 著作权归作者所有。请勿转载和采集!