from rest_framework import serializers from .models import PivotProgressVertex, Progress class PivotProgressSerializer(serializers.ModelSerializer): status = serializers.SerializerMethodField() teacher = serializers.SerializerMethodField() class Meta: model = PivotProgressVertex exclude = ('id', 'progress') @staticmethod def get_status(self): return self.get_status_display() @staticmethod def get_teacher(self): return self.teacher.get_full_name() class ProgressSerializer(serializers.ModelSerializer): vertexes = serializers.SerializerMethodField() class Meta: model = Progress fields = ('route', 'vertexes', 'course') @staticmethod def get_vertexes(self): return [PivotProgressSerializer(i).data for i in self.pivotprogressvertex_set.all()]