aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/mixins.py
diff options
context:
space:
mode:
authorMichal Dvorak (cen38289)2012-12-21 10:53:23 +0100
committerMichal Dvorak (cen38289)2012-12-21 10:53:23 +0100
commit5ba2437f2dcb4eb7f9677ff9e393c27af38b071f (patch)
treedf19512bc58ae3180813c9d479267b7a617e9b8e /rest_framework/mixins.py
parent8ac77eaae8d6ad01ec8f6de18134c4aa1961d4dd (diff)
parent79aea2f0d082f17e7bb75cc32bd71b5f04836d43 (diff)
downloaddjango-rest-framework-5ba2437f2dcb4eb7f9677ff9e393c27af38b071f.tar.bz2
Merge remote-tracking branch 'tom/master'
Conflicts: rest_framework/tests/serializer.py
Diffstat (limited to 'rest_framework/mixins.py')
-rw-r--r--rest_framework/mixins.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/rest_framework/mixins.py b/rest_framework/mixins.py
index 1edcfa5c..2700606d 100644
--- a/rest_framework/mixins.py
+++ b/rest_framework/mixins.py
@@ -113,6 +113,10 @@ class UpdateModelMixin(object):
slug_field = self.get_slug_field()
setattr(obj, slug_field, slug)
+ # Ensure we clean the attributes so that we don't eg return integer
+ # pk using a string representation, as provided by the url conf kwarg.
+ obj.full_clean()
+
class DestroyModelMixin(object):
"""
@@ -120,6 +124,6 @@ class DestroyModelMixin(object):
Should be mixed in with `SingleObjectBaseView`.
"""
def destroy(self, request, *args, **kwargs):
- self.object = self.get_object()
- self.object.delete()
+ obj = self.get_object()
+ obj.delete()
return Response(status=status.HTTP_204_NO_CONTENT)