DRF - Как ограничить глубину сериализатора? - PullRequest
0 голосов
/ 06 января 2020

У меня много моделей, и я использую DRF в качестве REST API.

Почти каждый сериализатор nested. Это вызывает проблему, заключающуюся в том, что ModelASerializer многократно вкладывается, потому что он использует ModelBSerializer, который использует ModelCSerializer ... et c.

class ModelBSerializer(..):
    modelcs = ModelCSerializer(...)

    class Meta:
        fields = '__all__'

class ModelASerializer(..):
    modelbs = ModelBSerializer(many=True..)

    class Meta:
        fields = '__all__'

Дело в том, что он, очевидно, замедляет все , Я думал, что если я добавлю depth=2/1 к ModelASerializer.Meta, modelcs не будет сериализован, потому что они являются вложенными уровнями 2/1. Но это все же сериализаторы все. Можно ли заставить его работать?

Я могу создавать новые сериализаторы, но это было бы намного элегантнее.

...