From 8bfe0423d347f9cd5ea4408ed6981ef219910abc Mon Sep 17 00:00:00 2001 From: Bulgantamir Gankhuyag Date: Tue, 9 Jun 2015 05:01:52 +0900 Subject: [PATCH] Fixed error serializer source attribute --- rest_framework/serializers.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index cf491c72b..b66c83f97 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -808,7 +808,16 @@ class ModelSerializer(Serializer): raise_errors_on_nested_writes('update', self, validated_data) for attr, value in validated_data.items(): - setattr(instance, attr, value) + if isinstance(value, dict): + instance_attr = getattr(instance, attr) + for _attr, _value in value.items(): + setattr(instance_attr, _attr, _value) + + instance_attr.save() + setattr(instance, attr, instance_attr) + else: + setattr(instance, attr, value) + instance.save() return instance