Я использую Django REST Framework. У меня есть родительский класс сериализатора, например, так:
class MyParentSerializer(serializers.Serializer):
# Use custom serializer as a field.
my_field = MyFieldSerializer(
required=False,
)
name = serializers.Charfield()
}
def validate(data):
# validation logic
А потом мой дочерний сериализатор, который используется выше, выглядит следующим образом:
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
Теперь я передаю следующие данные:
{
"my_field": { "invalid_field": "foo"},
"name": "bar"
}
Однако, если я проверю data
в методе validate
в моем MyFieldSerializer
классе во время проверки, ЭТО ПУСТО!
Почему? Как я могу это исправить, чтобы data
на самом деле данные, которые я передал?