Я работаю с DRF и у меня есть ViewSet, где я хочу разрешить все возможные действия (список, детали, обновление, удаление), кроме create()
.
Это то, что у меня есть для момент:
class FooViewSet(viewsets.ModelViewSet):
queryset = Foo.objects.order_by('-date_added').all()
serializer_class = FooSerializer
def create(self, request):
return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED)
def update(self, request, pk=None):
version = get_object_or_404(Foo, pk=pk)
html = request.data.get('html')
version.update_content(html)
return Response(data={
'id': version.id,
'name': version.name,
'description': version.description,
'html': version.content,
}, status=status.HTTP_200_OK)
Я знаю, что мог бы заставить сериализатор наследовать от ReadOnlyModelViewSet
, но тогда я бы не смог его обновить.
Так что самый чистый способ запретить до create()
?