Fix nested serializer required=False multipart data validation bug #3112
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After reviewing #2796, #2719, and #2919, I thought it might not hurt to propose a fix for the simpler use case where mulitpart data for nested serializers with required=False fails validation when the field is not present.
I agree that great care is needed regarding the design decisions still needed on how the data in a serializer's "validated_data" property should be constructed (and that it should be consistent and predictable), but the fact still remains that currently, you cannot use a View with a serializer that defines a nested serializer with required=False.
I'm hoping this fix can make it into the core, so the format/structure/construction of a serializer's "validated_data" properly can be handled as separate issue.