ViewSets
tienen métodos automáticos para listar, recuperar, crear, actualizar, eliminar, ...
Me gustaría deshabilitar algunos de ellos, y la solución que se me ocurrió probablemente no sea buena, ya que OPTIONS
todavía los indica como permitidos.
¿Alguna idea de cómo hacer esto de la manera correcta?
class SampleViewSet(viewsets.ModelViewSet):
queryset = api_models.Sample.objects.all()
serializer_class = api_serializers.SampleSerializer
def list(self, request):
return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED)
def create(self, request):
return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED)
UpdateModelMixin
. Si desea utilizar la actualización pero no el parche, actualmente puedo pensar en dos formas. Puede anular los métodos permitidos en la vista y eliminar "parche" o puede anular elpartial_update
método y llamarhttp_method_not_allowed(request, *args, **kwargs)
. No lo he probado, así que no estoy seguro de si funcionaclass SampleViewSet(viewsets.ReadOnlyModelViewSet)
.