From 5237106214ee02eac91a8960e28b796310413cce Mon Sep 17 00:00:00 2001 From: Xavier Ordoquy Date: Wed, 22 May 2013 09:22:38 +0200 Subject: [PATCH] Fixed the created/updated status code for an update. --- rest_framework/mixins.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rest_framework/mixins.py b/rest_framework/mixins.py index 8110144c9..1cf38303a 100644 --- a/rest_framework/mixins.py +++ b/rest_framework/mixins.py @@ -131,14 +131,14 @@ class UpdateModelMixin(object): # or simply return None self.check_permissions(clone_request(self.request, 'POST')) - def valid_update(self, serializer): - if self.object is None: + def valid_update(self, serializer, created=False): + if created: success_status_code = status.HTTP_201_CREATED else: success_status_code = status.HTTP_200_OK return Response(serializer.data, status=success_status_code) - def invalid_update(self, serializer): + def invalid_update(self, serializer, created=False): return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) def update(self, request, *args, **kwargs): @@ -159,9 +159,9 @@ class UpdateModelMixin(object): self.pre_save(serializer.object) self.object = serializer.save(**save_kwargs) self.post_save(self.object, created=created) - return self.valid_update(serializer) + return self.valid_update(serializer, created) - return self.invalid_update(serializer) + return self.invalid_update(serializer, created) def partial_update(self, request, *args, **kwargs): kwargs['partial'] = True