from rest_framework import serializers from course_service.maps.models import CourseRoute, CourseMap class CourseRouteSerializer(serializers.ModelSerializer): maps = serializers.SerializerMethodField() class Meta: model = CourseRoute fields = ('maps', 'name') @staticmethod def get_maps(self): return [CourseMapSerializer(i.map_course).data for i in self.pivotcoursemap_set.all()] class CourseMapSerializer(serializers.ModelSerializer): vertexes = serializers.SerializerMethodField() class Meta: model = CourseMap fields = ('name', 'vertexes') @staticmethod def get_vertexes(self): return [i.vertex.token for i in self.pivotvertex_set.all()]