Как проверить данные во вложенном ModelSerializer?
class Test(models.Model):
name = CharField()
a_str = CharField()
a_int = IntegerField()
b_str = CharField()
b_int = IntegerField()
class ASerializer(Serializer):
str = CharField(source='a_str')
int = IntegerField(source='a_int')
class BSerializer(Serializer):
str = CharField(source='b_str')
int = IntegerField(source='b_int')
class TestSerializer(ModelSerializer):
A = ASerializer(source="*")
B = BSerializer(source="*")
class Meta:
model = Test
fields = ('name', 'A', 'B')
Имея эти сериализаторы, я могу создать экземпляр Test, но в методе create используется только поле 'name'. Валидированные данные не содержат полей из ASerializer и BSerializer. Как мне, например, отобразить [A][int] в Test.a_int? Или просто добавить a_int (который является initial_data[A][int]) в validated_data, чтобы я мог использовать его в методе create?
Этот метод вложения был взят из: drf-docs