[Python] DRF Delete API Method Get Error instead of delete

Discussão em 'Python' iniciado por Stack, Junho 20, 2025.

  1. Stack

    Stack Membro Participativo

    I'm trying to delete a Classroom object from the database. When I try to go to Django Rest Web Browser to fetch api/classroom/delete/1/ I get this response.

    HTTP 405 Method Not Allowed
    Allow: DELETE, OPTIONS
    Content-Type: application/json
    Vary: Accept

    {
    "detail": "Method \"GET\" not allowed."
    }


    class ClassroomDeleteViewAPI(generics.DestroyAPIView):
    serializer_class = ClassroomSerializer
    permission_classes = [IsAuthenticated]

    def get_queryset(self):
    return Classroom.objects.filter(teacher_assigned=self.request.user)

    def delete(self, request, pk):
    try:
    classroom = Classroom.objects.get(pk=pk)
    classroom.delete()
    return Response(status=status.HTTP_204_NO_CONTENT)
    except Classroom.DoesNotExist:
    return Response({
    'detail': 'Classroom not found'
    }, status=status.HTTP_404_NOT_FOUND)


    I don't know what happened here. There is no url route merging.

    The View is correctly processing a delete request.

    Why is that happening?

    My path for delete looks like this:

    path('classroom/delete/<int:pk>/', ClassroomDeleteViewAPI.as_view(), name='delete_classroom')

    Continue reading...

Compartilhe esta Página