This commit is contained in:
Tomasz Dubiel 2017-06-07 13:51:55 +00:00 committed by GitHub
commit 4cf4658d47

View File

@ -15,8 +15,11 @@ class CreateModelMixin(object):
""" """
Create a model instance. Create a model instance.
""" """
def get_request_data(self, request, *args, **kwargs):
return request.data
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data) serializer = self.get_serializer(data=self.get_request_data(request, *args, **kwargs))
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
self.perform_create(serializer) self.perform_create(serializer)
headers = self.get_success_headers(serializer.data) headers = self.get_success_headers(serializer.data)
@ -62,10 +65,13 @@ class UpdateModelMixin(object):
""" """
Update a model instance. Update a model instance.
""" """
def get_request_data(self, request, *args, **kwargs):
return request.data
def update(self, request, *args, **kwargs): def update(self, request, *args, **kwargs):
partial = kwargs.pop('partial', False) partial = kwargs.pop('partial', False)
instance = self.get_object() instance = self.get_object()
serializer = self.get_serializer(instance, data=request.data, partial=partial) serializer = self.get_serializer(instance, data=self.get_request_data(request, *args, **kwargs), partial=partial)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
self.perform_update(serializer) self.perform_update(serializer)