diff --git a/apps/course/serializers/course.py b/apps/course/serializers/course.py index 312a788..de11326 100644 --- a/apps/course/serializers/course.py +++ b/apps/course/serializers/course.py @@ -24,6 +24,9 @@ class CourseListSerializer(serializers.ModelSerializer): thumbnail = serializers.SerializerMethodField() participant_count = serializers.SerializerMethodField() lessons_count = serializers.SerializerMethodField() + price = serializers.SerializerMethodField() + discount_percentage = serializers.SerializerMethodField() + final_price = serializers.SerializerMethodField() class Meta: model = Course @@ -56,6 +59,15 @@ class CourseListSerializer(serializers.ModelSerializer): def get_lessons_count(self, obj): lessons_count = obj.lessons.filter(is_active=True).count() return max(lessons_count, obj.lessons_count) + + def get_price(self, obj): + return 0 if obj.is_free else obj.price + + def get_discount_percentage(self, obj): + return 0 if obj.is_free else obj.discount_percentage + + def get_final_price(self, obj): + return 0 if obj.is_free else obj.final_price @@ -72,6 +84,9 @@ class CourseDetailSerializer(serializers.ModelSerializer): last_lesson_id = serializers.SerializerMethodField() room_id = serializers.SerializerMethodField() user_transaction_status = serializers.SerializerMethodField() + price = serializers.SerializerMethodField() + discount_percentage = serializers.SerializerMethodField() + final_price = serializers.SerializerMethodField() class Meta: model = Course fields = [ @@ -199,7 +214,15 @@ class CourseDetailSerializer(serializers.ModelSerializer): def get_participant_count(self, obj): return obj.participants.count() - + + def get_price(self, obj): + return 0 if obj.is_free else obj.price + + def get_discount_percentage(self, obj): + return 0 if obj.is_free else obj.discount_percentage + + def get_final_price(self, obj): + return 0 if obj.is_free else obj.final_price class MyCourseListSerializer(serializers.ModelSerializer):