aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/serializers.py
diff options
context:
space:
mode:
authorTom Christie2013-03-15 19:22:31 +0000
committerTom Christie2013-03-15 19:22:31 +0000
commit47492e3ef4e24ecd155091247e479851789ee8e9 (patch)
treec27de3d7a5f3247839798ce20b893451952fc9cd /rest_framework/serializers.py
parentfb3b57803f8dbedc632458b762de9d3323a3360e (diff)
downloaddjango-rest-framework-47492e3ef4e24ecd155091247e479851789ee8e9.tar.bz2
Clean out ModelSerializer special casing from Serializer.field_from_native
Diffstat (limited to 'rest_framework/serializers.py')
-rw-r--r--rest_framework/serializers.py21
1 files changed, 4 insertions, 17 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py
index f073e00a..5dadebb2 100644
--- a/rest_framework/serializers.py
+++ b/rest_framework/serializers.py
@@ -379,11 +379,7 @@ class BaseSerializer(WritableField):
serializer = self.__class__(**kwargs)
if serializer.is_valid():
- if isinstance(serializer, ModelSerializer):
- into[self.source or field_name] = serializer
- else:
- into[self.source or field_name] = serializer.object
- # into[self.source or field_name] = serializer.object
+ into[self.source or field_name] = serializer.object
else:
# Propagate errors up to our parent
raise NestedValidationError(serializer.errors)
@@ -681,12 +677,6 @@ class ModelSerializer(Serializer):
if instance:
return self.full_clean(instance)
-# def save_object(self, obj, **kwargs):
-# """
-# Save the deserialized object and return it.
-# """
-# obj.save(**kwargs)
-# =======
def save_object(self, obj, parent=None, fk_field=None, **kwargs):
"""
Save the deserialized object and return it.
@@ -706,13 +696,10 @@ class ModelSerializer(Serializer):
if related is None:
previous = getattr(self.object, accessor_name, related)
previous.delete()
- elif isinstance(related, ModelSerializer):
- # print related.object
- # print related.related_data, related.m2m_data
+ elif isinstance(related, models.Model):
fk_field = obj._meta.get_field_by_name(accessor_name)[0].field.name
- related.save_object(related.object, parent=self.object, fk_field=fk_field)
- # setattr(related, fk_field, obj)
- # related.save(**kwargs)
+ setattr(related, fk_field, obj)
+ self.save_object(related)
else:
setattr(self.object, accessor_name, related)
obj._related_data = {}