Как проверить данные во вложенном 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

Вернуться на верх