aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Ordoquy2014-12-07 12:12:40 +0100
committerXavier Ordoquy2014-12-07 12:12:40 +0100
commita257b04928f07656ac4541e0a3fae0afad2848bb (patch)
tree8979815e002c7e2cb07869db34560a6da2f3fc9e
parent71c49fea8abf1007d17aaf801dab9099b36515bd (diff)
downloaddjango-rest-framework-a257b04928f07656ac4541e0a3fae0afad2848bb.tar.bz2
Fix missing validated_data in `raise_errors_on_nested_writes` (#2221)
-rw-r--r--rest_framework/serializers.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py
index d8e544d4..39523077 100644
--- a/rest_framework/serializers.py
+++ b/rest_framework/serializers.py
@@ -561,7 +561,7 @@ class ListSerializer(BaseSerializer):
# ModelSerializer & HyperlinkedModelSerializer
# --------------------------------------------
-def raise_errors_on_nested_writes(method_name, serializer):
+def raise_errors_on_nested_writes(method_name, serializer, validated_data):
"""
Give explicit errors when users attempt to pass writable nested data.
@@ -586,7 +586,7 @@ def raise_errors_on_nested_writes(method_name, serializer):
# ...
# profile = ProfileSerializer()
assert not any(
- isinstance(field, BaseSerializer) and (key in validated_attrs)
+ isinstance(field, BaseSerializer) and (key in validated_data)
for key, field in serializer.fields.items()
), (
'The `.{method_name}()` method does not support writable nested'
@@ -605,7 +605,7 @@ def raise_errors_on_nested_writes(method_name, serializer):
# ...
# address = serializer.CharField('profile.address')
assert not any(
- '.' in field.source and (key in validated_attrs)
+ '.' in field.source and (key in validated_data)
for key, field in serializer.fields.items()
), (
'The `.{method_name}()` method does not support writable dotted-source '
@@ -682,7 +682,7 @@ class ModelSerializer(Serializer):
If you want to support writable nested relationships you'll need
to write an explicit `.create()` method.
"""
- raise_errors_on_nested_writes('create', self)
+ raise_errors_on_nested_writes('create', self, validated_data)
ModelClass = self.Meta.model
@@ -722,7 +722,7 @@ class ModelSerializer(Serializer):
return instance
def update(self, instance, validated_data):
- raise_errors_on_nested_writes('update', self)
+ raise_errors_on_nested_writes('update', self, validated_data)
for attr, value in validated_data.items():
setattr(instance, attr, value)