diff options
| author | Tom Christie | 2013-03-12 18:49:38 +0000 |
|---|---|---|
| committer | Tom Christie | 2013-03-12 18:49:38 +0000 |
| commit | e8db504a9802c6dcc111a327f681e01b9b3e2e16 (patch) | |
| tree | cc85f273295484a0e145eee63b1f8d5af1701572 /rest_framework/serializers.py | |
| parent | 12ac357559457d1ded341728aaf76408f0417f9b (diff) | |
| parent | 20880232930dd6f3a1de9dda1546c84b9279a258 (diff) | |
| download | django-rest-framework-e8db504a9802c6dcc111a327f681e01b9b3e2e16.tar.bz2 | |
Merge master
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 14 |
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): """ |
