Django Rest Framework отличается от Swagger View - PullRequest
0 голосов
/ 09 июля 2020

Используя следующий сериализатор с последней Django версией 3.0.7 и Django Rest Framework 3.11.0, мы наблюдаем очень странное поведение нашего API:

class UnitSerializer(serializers.ModelSerializer):
    parent = RecursiveField(allow_null=False) # RecursiveField from https://github.com/heywbj/django-rest-framework-recursive
    ...

    class Meta:
        fields = ('id', ... 'parent', ...)
        model = Unit
        depth = 3

При просмотре /api/unit url напрямую Django выдает maximum recursion depth exceeded while calling a Python object как ошибку, но при отображении того же вида через swagger он показывает все правильно. Я попытался реализовать наш сценарий, используя каждый ответ от этот вопрос , чтобы избежать проблемы, но я встречал ее (или другие проблемы) в каждом решении.

Как это может быть? Как мы можем настроить это, чтобы показывать одинаковый результат на обоих концах? Наша цель - показать древовидную структуру для каждого объекта, возвращаемого этим вызовом.

...