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.
 
 

27 lines
1.1 KiB

from django.contrib.auth import get_user_model
from rest_framework import serializers
from apps.account.serializers import UserProfileSerializer
User = get_user_model()
class ProfessorListSerializer(serializers.ModelSerializer):
course_count = serializers.IntegerField(read_only=True)
lesson_count = serializers.IntegerField(read_only=True)
class Meta:
model = User
fields = ['id', 'slug', 'fullname', 'experience_years', 'course_count', 'lesson_count']
class ProfessorDetailSerializer(UserProfileSerializer):
course_count = serializers.IntegerField(read_only=True)
lesson_count = serializers.IntegerField(read_only=True)
experience_years = serializers.IntegerField(read_only=True)
slug = serializers.CharField(read_only=True)
class Meta(UserProfileSerializer.Meta):
fields = UserProfileSerializer.Meta.fields + ['slug', 'experience_years', 'course_count', 'lesson_count']
read_only_fields = list(set(UserProfileSerializer.Meta.read_only_fields + ['slug', 'experience_years', 'course_count', 'lesson_count']))