Здесь: http://www.django-rest-framework.org/api-guide/viewsets/#modelviewset говорится: «Класс ModelViewSet предоставляет следующие действия: .list (), .retrieve (), .create (), .update (), .partial_update () и .разрушать()."
Здесь: http://www.django-rest-framework.org/api-guide/serializers/#modelserializer говорится: «Класс ModelSerializer такой же, как и обычный класс Serializer, за исключением того, что: он включает простые реализации по умолчанию для .create () и .update ()».
1) Предполагая, что есть Viewset UserViewSet
, маршрутизатор user
и сериализатор UserSerializer
. Если я отправил POST
на /user/
, вызывает ли он create()
UserViewSet
или create()
UserSerializer
?
2) Предположим, что UserViewSet
имеет это разрешение:
class NoCreate(permissions.BasePermission):
"""
No one can create this object.
"""
message = 'You do not have permission to complete the action you are trying to perform.'
def has_permission(self, request, view):
if view.action == "create":
return False
return True
Вызывается ли create()
UserSerializer
, если я отправляю POST
на /user/
?