Django Rest Framework: разрешить патч, но не ставить - PullRequest
0 голосов
/ 14 января 2020

Я хочу разрешить PATCH экземпляры моей модели, но не PUT, и я хочу разрешить обновление только определенных полей. Я использую Django -rest-framework, и я использую ViewSet s. Если я унаследую от UpdateModelMixin, я неизбежно получу и PATCH, и PUT.

. Я знаю, что могу написать свою собственную реализацию partial_update, однако я бы предпочел использовать более идиоматические c способ, если есть. Короче говоря, мой вопрос:

Есть ли способ разрешить метод PATCH, но не PUT?

Есть ли способ ограничить диапазон полей, разрешенных для обновления в методе PATCH без написания выделенного сериализатора «input»?

1 Ответ

1 голос
/ 14 января 2020

Вы можете переопределить атрибут http_method_names набора просмотра:

class MyViewSet(viewsets.ModelViewSet):
    http_method_names = ['get', 'post', 'patch', 'delete']
...