diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index e27610178..18139e75f 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -801,9 +801,8 @@ def raise_errors_on_nested_writes(method_name, serializer, validated_data): # ... # address = serializer.CharField('profile.address') assert not any( - '.' in field.source and - (key in validated_data) and - isinstance(validated_data[key], (list, dict)) + len(field.source_attrs) > 1 and + (field.source_attrs[0] in validated_data) for key, field in serializer.fields.items() ), ( 'The `.{method_name}()` method does not support writable dotted-source '