This commit is contained in:
Simon Luijk 2014-02-06 02:03:52 +01:00
commit 62a7b7e3f7

View File

@ -54,7 +54,8 @@ class CreateModelMixin(object):
self.object = serializer.save(force_insert=True)
self.post_save(self.object, created=True)
headers = self.get_success_headers(serializer.data)
return Response(serializer.data, status=status.HTTP_201_CREATED,
data = self.get_create_response_data(serializer)
return Response(data, status=status.HTTP_201_CREATED,
headers=headers)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
@ -65,6 +66,9 @@ class CreateModelMixin(object):
except (TypeError, KeyError):
return {}
def get_create_response_data(self, serializer):
return serializer.data
class ListModelMixin(object):
"""
@ -137,7 +141,8 @@ class UpdateModelMixin(object):
return Response(err.message_dict, status=status.HTTP_400_BAD_REQUEST)
self.object = serializer.save(**save_kwargs)
self.post_save(self.object, created=created)
return Response(serializer.data, status=success_status_code)
data = self.get_update_response_data(serializer)
return Response(data, status=success_status_code)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
@ -160,6 +165,9 @@ class UpdateModelMixin(object):
# return a 404 response.
raise
def get_update_response_data(self, serializer):
return serializer.data
def pre_save(self, obj):
"""
Set any attributes on the object that are implicit in the request.