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']))