Same thing for UpdateModelMixin

This commit is contained in:
JEphron 2020-04-06 12:55:19 -07:00
parent 702cd7d357
commit 5c0f30482d

View File

@ -14,7 +14,8 @@ class CreateModelMixin:
Create a model instance.
"""
def create(self, request, *args, **kwargs):
serializer = self.get_serializer(data=self.get_create_data(request))
data = self.get_create_data(request)
serializer = self.get_serializer(data=data)
serializer.is_valid(raise_exception=True)
self.perform_create(serializer)
headers = self.get_success_headers(serializer.data)
@ -66,7 +67,8 @@ class UpdateModelMixin:
def update(self, request, *args, **kwargs):
partial = kwargs.pop('partial', False)
instance = self.get_object()
serializer = self.get_serializer(instance, data=request.data, partial=partial)
data = self.get_update_data(request)
serializer = self.get_serializer(instance, data=data, partial=partial)
serializer.is_valid(raise_exception=True)
self.perform_update(serializer)
@ -77,6 +79,9 @@ class UpdateModelMixin:
return Response(serializer.data)
def get_update_data(self, request):
return request.data
def perform_update(self, serializer):
serializer.save()