aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/serializers.py
diff options
context:
space:
mode:
authorTom Christie2013-03-12 18:49:38 +0000
committerTom Christie2013-03-12 18:49:38 +0000
commite8db504a9802c6dcc111a327f681e01b9b3e2e16 (patch)
treecc85f273295484a0e145eee63b1f8d5af1701572 /rest_framework/serializers.py
parent12ac357559457d1ded341728aaf76408f0417f9b (diff)
parent20880232930dd6f3a1de9dda1546c84b9279a258 (diff)
downloaddjango-rest-framework-e8db504a9802c6dcc111a327f681e01b9b3e2e16.tar.bz2
Merge master
Diffstat (limited to 'rest_framework/serializers.py')
-rw-r--r--rest_framework/serializers.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py
index 106e3f17..2ae7c215 100644
--- a/rest_framework/serializers.py
+++ b/rest_framework/serializers.py
@@ -391,11 +391,17 @@ class BaseSerializer(Field):
return self._data
+ def save_object(self, obj):
+ obj.save()
+
def save(self):
"""
Save the deserialized object and return it.
"""
- self.object.save()
+ if isinstance(self.object, list):
+ [self.save_object(item) for item in self.object]
+ else:
+ self.save_object(self.object)
return self.object
@@ -612,11 +618,11 @@ class ModelSerializer(Serializer):
if instance:
return self.full_clean(instance)
- def save(self):
+ def save_object(self, obj):
"""
Save the deserialized object and return it.
"""
- self.object.save()
+ obj.save()
if getattr(self, 'm2m_data', None):
for accessor_name, object_list in self.m2m_data.items():
@@ -628,8 +634,6 @@ class ModelSerializer(Serializer):
setattr(self.object, accessor_name, object_list)
self.related_data = {}
- return self.object
-
class HyperlinkedModelSerializerOptions(ModelSerializerOptions):
"""