aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2014-12-03 22:45:44 +0000
committerTom Christie2014-12-03 22:45:44 +0000
commite1d98f77563abf49c4b19dcfb95f263515ae4087 (patch)
tree92b1304a516f9efe93d2ed84e11b823b52b8e18c
parentf2dd05a6e661525908fe5ec99b52b5274b04a198 (diff)
downloaddjango-rest-framework-e1d98f77563abf49c4b19dcfb95f263515ae4087.tar.bz2
Improve nested update and create testing.
-rw-r--r--rest_framework/serializers.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py
index b1175b5b..c7f04b40 100644
--- a/rest_framework/serializers.py
+++ b/rest_framework/serializers.py
@@ -633,8 +633,8 @@ class ModelSerializer(Serializer):
# If we don't do this explicitly they'd likely get a confusing
# error at the point of calling `Model.objects.create()`.
assert not any(
- isinstance(field, BaseSerializer) and not field.read_only
- for field in self.fields.values()
+ isinstance(field, BaseSerializer) and (key in validated_attrs)
+ for key, field in self.fields.items()
), (
'The `.create()` method does not suport nested writable fields '
'by default. Write an explicit `.create()` method for serializer '
@@ -682,7 +682,7 @@ class ModelSerializer(Serializer):
def update(self, instance, validated_attrs):
assert not any(
isinstance(field, BaseSerializer) and (key in validated_attrs)
- for key, field in self.fields.values()
+ for key, field in self.fields.items()
), (
'The `.update()` method does not suport nested writable fields '
'by default. Write an explicit `.update()` method for serializer '