Разрешить только обновление в рамках Django REST API
-
21-12-2019 - |
Вопрос
Я работаю над очень простым приложением, которое имеет только 1 модель с парой полей.Я хочу, чтобы эти модели были созданы или удалены только через страницы / администратора (через стандартную структуру администратора Django) и разрешите структуру API для отдыха только изменить эти объекты.
Есть ли простой способ сделать это?
Решение
Вам нужно настроить http_method_names
же, как показано ниже:
class WebViewSet(mixins.CreateModelMixin,
mixins.ListModelMixin,
mixins.UpdateModelMixin,
viewsets.GenericViewSet):
model = WebTransaction
http_method_names = ('get', 'put')
. Другие советы
Просто создайте видимонтировать, использующее обновление / извлечение модели Model.
from rest_framwork import viewsets, mixins
class FooViewSet(mixens.RetrieveModelMixin,
mixins.UpdateModelMixin,
viewsets.GenericViewSet):
model = Foo
queryset = Foo.objects.all()
serializer_class = FooSerializer
.
Это даст вам только точки Apiend, чтобы получить или обновить экземпляр вашей модели.
If you want just update the objects use UpdateApiView. With this view you will create just the update(PUT Method) for you model.Any doubts follow the documentation in Documentation DRF.