Skip to content

Commit e1d98f7

Browse files
committed
Improve nested update and create testing.
1 parent f2dd05a commit e1d98f7

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

rest_framework/serializers.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -633,8 +633,8 @@ def create(self, validated_attrs):
633633
# If we don't do this explicitly they'd likely get a confusing
634634
# error at the point of calling `Model.objects.create()`.
635635
assert not any(
636-
isinstance(field, BaseSerializer) and not field.read_only
637-
for field in self.fields.values()
636+
isinstance(field, BaseSerializer) and (key in validated_attrs)
637+
for key, field in self.fields.items()
638638
), (
639639
'The `.create()` method does not suport nested writable fields '
640640
'by default. Write an explicit `.create()` method for serializer '
@@ -682,7 +682,7 @@ def create(self, validated_attrs):
682682
def update(self, instance, validated_attrs):
683683
assert not any(
684684
isinstance(field, BaseSerializer) and (key in validated_attrs)
685-
for key, field in self.fields.values()
685+
for key, field in self.fields.items()
686686
), (
687687
'The `.update()` method does not suport nested writable fields '
688688
'by default. Write an explicit `.update()` method for serializer '

0 commit comments

Comments
 (0)