Используя следующий сериализатор с последней 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 он показывает все правильно. Я попытался реализовать наш сценарий, используя каждый ответ от этот вопрос , чтобы избежать проблемы, но я встречал ее (или другие проблемы) в каждом решении.
Как это может быть? Как мы можем настроить это, чтобы показывать одинаковый результат на обоих концах? Наша цель - показать древовидную структуру для каждого объекта, возвращаемого этим вызовом.