Solución:
La respuesta parece muy similar a la del vista de la lista (/api/resource/
) para un ViewSet. Solo se admiten vistas de lista GET
, para enumerar todos los objetos, y POST
para crear un nuevo objeto.
DELETE
las solicitudes solo se permiten en el Vista de detalles (/api/resource/1/
). Esto se debe a que Django REST Framework necesita saber qué objeto está buscando eliminar, y esta información no se puede recuperar solo desde la vista de lista.
Si necesita conectar el método http DELETE con URL sin pk en DRF, intente esto dentro de su ModelViewSet:
@action(methods=['delete'], detail=False)
def delete(self, request):
# your code
UPD: Tenga en cuenta que action
atributo dentro de ModelViewSet
la clase será None
debida solicitud. Si lo marca en alguna parte, maneje no solo el nombre de la acción, sino también el método de solicitud y la ruta de solicitud.