Избегайте возврата сериализатором двойных названий для сериализатора отношений
У меня есть эти сериализаторы
сериализатор 2 имеет реляционное поле к сериализатору 1
сериализатор 1
class ExerciseSerializer(serializers.ModelSerializer):
questions = QuestionSerializer(many=True)
subject = serializers.SlugRelatedField(read_only=True, slug_field="title")
topic = TopicSerializer()
class Meta:
model = Exercise
fields = ["id", "subject", "topic", "questions"]
сериализатор 2
class ExerciseTokenSerializer(serializers.ModelSerializer):
exercise = ExerciseSerializer()
class Meta:
model = ExerciseToken
fields = ["exercise", "completed", "score"]
в результате получается вложенное "упражнение", в котором я должен получить доступ к данным через "exercise.exercise", просмотр результатов ниже лучше объяснит проблему:
{
"exercise": {
"exercise": {
...
}
}
"completed": false,
"score": 0
}
вот как я хочу, чтобы он выводил данные
{
"exercise": {
...
}
"completed": false,
"score": 0
}
Как этого можно достичь? Я не нашел решения ни в документации, ни здесь, в stack overflow.
Спасибо.