В настоящее время я борюсь с некоторыми django проблемами со средой отдыха. Я хочу определить запрос на удаление для моего APIView.
Это мой view.py:
class Employee(APIView):
permission_classes = (AllowAny, )
serializer_class = EmployeeSerializer
def get(self, request, pk, format=None):
employee = EmployeeModel.objects.get(pk=pk)
serializer = EmployeeSerializer(employee, many=False)
return Response(serializer.data)
def delete(self, request, pk, format=None):
employee = EmployeeModel.objects.get(pk=pk)
employee.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
А это мой urls.py:
urlpatterns = [
path('', views.index, name='index'),
path('admin/', admin.site.urls),
path('api/auth/', include('rest_framework.urls')),
path('api-token-auth/', obtain_auth_token, name='api_token_auth'),
path('api/', include(router.urls)),
path('api/v1/employeelist/', views.EmployeeList.as_view()),
path('api/v1/employee/<pk>', views.Employee.as_view())
]
Сериализатор:
class EmployeeSerializer(serializers.ModelSerializer):
class Meta:
model = Employee
fields = '__all__'
depth = 1
Метод get работает нормально, когда я вызываю / api / v1 / employee / 4, например. Пользовательский интерфейс API показывает мне разрешенные методы: GET, DELETE, HEAD, OPTIONS, но когда я отправляю запрос на удаление, я всегда получаю сообщение об ошибке 403.
Кто-нибудь знает почему?