diff options
| author | Tom Christie | 2014-12-03 22:45:44 +0000 |
|---|---|---|
| committer | Tom Christie | 2014-12-03 22:45:44 +0000 |
| commit | e1d98f77563abf49c4b19dcfb95f263515ae4087 (patch) | |
| tree | 92b1304a516f9efe93d2ed84e11b823b52b8e18c | |
| parent | f2dd05a6e661525908fe5ec99b52b5274b04a198 (diff) | |
| download | django-rest-framework-e1d98f77563abf49c4b19dcfb95f263515ae4087.tar.bz2 | |
Improve nested update and create testing.
| -rw-r--r-- | rest_framework/serializers.py | 6 |
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 ' |
