|
|
@ -24,6 +24,9 @@ class CourseListSerializer(serializers.ModelSerializer): |
|
|
thumbnail = serializers.SerializerMethodField() |
|
|
thumbnail = serializers.SerializerMethodField() |
|
|
participant_count = serializers.SerializerMethodField() |
|
|
participant_count = serializers.SerializerMethodField() |
|
|
lessons_count = serializers.SerializerMethodField() |
|
|
lessons_count = serializers.SerializerMethodField() |
|
|
|
|
|
price = serializers.SerializerMethodField() |
|
|
|
|
|
discount_percentage = serializers.SerializerMethodField() |
|
|
|
|
|
final_price = serializers.SerializerMethodField() |
|
|
|
|
|
|
|
|
class Meta: |
|
|
class Meta: |
|
|
model = Course |
|
|
model = Course |
|
|
@ -57,6 +60,15 @@ class CourseListSerializer(serializers.ModelSerializer): |
|
|
lessons_count = obj.lessons.filter(is_active=True).count() |
|
|
lessons_count = obj.lessons.filter(is_active=True).count() |
|
|
return max(lessons_count, obj.lessons_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() |
|
|
last_lesson_id = serializers.SerializerMethodField() |
|
|
room_id = serializers.SerializerMethodField() |
|
|
room_id = serializers.SerializerMethodField() |
|
|
user_transaction_status = serializers.SerializerMethodField() |
|
|
user_transaction_status = serializers.SerializerMethodField() |
|
|
|
|
|
price = serializers.SerializerMethodField() |
|
|
|
|
|
discount_percentage = serializers.SerializerMethodField() |
|
|
|
|
|
final_price = serializers.SerializerMethodField() |
|
|
class Meta: |
|
|
class Meta: |
|
|
model = Course |
|
|
model = Course |
|
|
fields = [ |
|
|
fields = [ |
|
|
@ -200,6 +215,14 @@ class CourseDetailSerializer(serializers.ModelSerializer): |
|
|
def get_participant_count(self, obj): |
|
|
def get_participant_count(self, obj): |
|
|
return obj.participants.count() |
|
|
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): |
|
|
class MyCourseListSerializer(serializers.ModelSerializer): |
|
|
|