You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
855 B
32 lines
855 B
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()] |