diff options
| author | Tom Christie | 2012-10-03 11:08:02 +0100 |
|---|---|---|
| committer | Tom Christie | 2012-10-03 11:08:02 +0100 |
| commit | 7c303411a914430252f482ca24501bf02ba7193c (patch) | |
| tree | 2d972bcc69598e4fceab76cc0f523f7dd2c39363 /rest_framework/serializers.py | |
| parent | 36b58d0c78a065c273a19eeb4f4d6d5a2b92d425 (diff) | |
| download | django-rest-framework-7c303411a914430252f482ca24501bf02ba7193c.tar.bz2 | |
Add Serializer.save() to clean up differences between serializer.object being either a DeserializedObject or a model instance
Diffstat (limited to 'rest_framework/serializers.py')
| -rw-r--r-- | rest_framework/serializers.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 5935bce5..683b9efc 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -275,6 +275,13 @@ class BaseSerializer(Field): self._data = self.to_native(self.object) return self._data + def save(self): + """ + Save the deserialized object and return it. + """ + self.object.save() + return self.object + class Serializer(BaseSerializer): __metaclass__ = SerializerMetaclass @@ -379,3 +386,10 @@ class ModelSerializer(RelatedField, Serializer): if field.name in attrs: m2m_data[field.name] = attrs.pop(field.name) return DeserializedObject(self.opts.model(**attrs), m2m_data) + + def save(self): + """ + Save the deserialized object and return it. + """ + self.object.save() + return self.object.object |
