I am using Django REST Framework. I have a parent serializer class like so:
class MyParentSerializer(serializers.Serializer):
# Use custom serializer as a field.
my_field = MyFieldSerializer(
required=False,
)
name = serializers.Charfield()
}
def validate(data):
# validation logic
And then my child serializer that is used above looks like this:
class MyFieldSerializer(serializers.Serializer):
email_address = serializers.ListField(
required=False,
child=serializers.CharField(),
)
phone_number = serializers.ListField(
required=False,
)
def validate(self, data):
data <-- <-- This is empty if I pass in random invalid data!
check_for_undefined_fields(self.data, self.fields)
return data
Now, I pass the following data:
{
"my_field": { "invalid_field": "foo"},
"name": "bar"
}
However, if I check data in the validate method in my MyFieldSerializer class during validation, IT'S EMPTY!
Why? How can I fix this so that data is actually the data I passed?