mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-08 06:14:47 +03:00
Merge 25ab99a882
into 9b56dda918
This commit is contained in:
commit
37d92b9604
|
@ -18,9 +18,20 @@ class CreateModelMixin(object):
|
||||||
def create(self, request, *args, **kwargs):
|
def create(self, request, *args, **kwargs):
|
||||||
serializer = self.get_serializer(data=request.data)
|
serializer = self.get_serializer(data=request.data)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
self.perform_create(serializer)
|
status_code = self.perform_create(serializer)
|
||||||
|
if status_code is None:
|
||||||
headers = self.get_success_headers(serializer.data)
|
headers = self.get_success_headers(serializer.data)
|
||||||
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
|
return Response(
|
||||||
|
serializer.data,
|
||||||
|
status=status.HTTP_201_CREATED,
|
||||||
|
headers=headers
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
return Response(
|
||||||
|
serializer.data,
|
||||||
|
status=status_code,
|
||||||
|
headers=headers
|
||||||
|
)
|
||||||
|
|
||||||
def perform_create(self, serializer):
|
def perform_create(self, serializer):
|
||||||
serializer.save()
|
serializer.save()
|
||||||
|
@ -67,8 +78,11 @@ class UpdateModelMixin(object):
|
||||||
instance = self.get_object()
|
instance = self.get_object()
|
||||||
serializer = self.get_serializer(instance, data=request.data, partial=partial)
|
serializer = self.get_serializer(instance, data=request.data, partial=partial)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
self.perform_update(serializer)
|
status_code = self.perform_update(serializer)
|
||||||
|
if status_code is None:
|
||||||
return Response(serializer.data)
|
return Response(serializer.data)
|
||||||
|
else:
|
||||||
|
return Response(serializer.data, status=status_code)
|
||||||
|
|
||||||
def perform_update(self, serializer):
|
def perform_update(self, serializer):
|
||||||
serializer.save()
|
serializer.save()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user