If you were to have a nested serializer, but required a certain parameter in the parent depending on a value in the child, how could you enforce the logical requirement when necessary?
For example:
class ChildSerializer(serializers.ModelSerializer):
foobar_attribute = serializers.ChoiceField(
required=True,
choices=foobar_choices,
)
class ParentSerializer(serializers.ModelSerializer):
child = ChildSerializer(required=True)
optional_attribute = serializers.CharField(
required=False,
)
optional_attribute should be required only when foobar_attribute is a certain choice, but optional for all else. Throwing a validate function on ParentSerializer or ChildSerializer only exposes attributes for that serializer, and none else.
How can I perform validation across nested serializers without creating rows ( as would occur if validation was performed in perform_create )?
validatemethod ofParentSerializer?validateon the parent