Почему пользовательская функция удаления не работает?
Я работаю над DRF (Django) API. У меня есть простой ModelViewSet. Запрос на удаление работает хорошо для этого:
class BuildingObjectViewSet(viewsets.ModelViewSet):
permission_classes = [AllowAny]
serializer_class = BuildingObjectSerializer
queryset = BuildingObject.objects.all()
Я хочу настроить функцию удаления. Но этот код удаления работает слишком долго > 1 минута
Какова причина слишком долгого времени запроса?
class BuildingObjectViewSet(viewsets.ModelViewSet):
permission_classes = [AllowAny]
serializer_class = BuildingObjectSerializer
queryset = BuildingObject.objects.all()
def destroy(self, request, *args, **kwargs):
instance = self.get_object()
deleted_id = instance.pk
self.perform_destroy(instance)
response = {
"message": "BuildingObject has been deleted.",
"building_object_id": deleted_id
}
return Response(response, status=status.HTTP_204_NO_CONTENT)
models.py
class BuildingObject(models.Model):
name = models.CharField(max_length=32)
address = models.CharField(max_length=200)
urls.py
path(
"building_objects/<int:pk>/",
BuildingObjectViewSet.as_view({
"delete": "destroy",
"get": "retrieve",
"patch": "partial_update",
}),
name="building_objects_detail"
),