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