|
|
|
@ -24,9 +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() |
|
|
|
price = serializers.SerializerMethodField() |
|
|
|
discount_percentage = serializers.SerializerMethodField() |
|
|
|
final_price = serializers.SerializerMethodField() |
|
|
|
|
|
|
|
class Meta: |
|
|
|
model = Course |
|
|
|
@ -61,15 +61,17 @@ class CourseListSerializer(serializers.ModelSerializer): |
|
|
|
return max(lessons_count, obj.lessons_count) |
|
|
|
|
|
|
|
def get_price(self, obj): |
|
|
|
if obj.is_free: |
|
|
|
if obj.is_free or obj.price == 0: |
|
|
|
return "0.00" |
|
|
|
return str(obj.price) |
|
|
|
|
|
|
|
def get_discount_percentage(self, obj): |
|
|
|
return 0 if obj.is_free else obj.discount_percentage |
|
|
|
if obj.is_free or obj.price == 0: |
|
|
|
return 0 |
|
|
|
return obj.discount_percentage |
|
|
|
|
|
|
|
def get_final_price(self, obj): |
|
|
|
if obj.is_free: |
|
|
|
if obj.is_free or obj.price == 0: |
|
|
|
return "0.00" |
|
|
|
return str(obj.final_price) |
|
|
|
|
|
|
|
@ -217,15 +219,17 @@ class CourseDetailSerializer(serializers.ModelSerializer): |
|
|
|
return obj.participants.count() |
|
|
|
|
|
|
|
def get_price(self, obj): |
|
|
|
if obj.is_free: |
|
|
|
if obj.is_free or obj.price == 0: |
|
|
|
return "0.00" |
|
|
|
return str(obj.price) |
|
|
|
|
|
|
|
def get_discount_percentage(self, obj): |
|
|
|
return 0 if obj.is_free else obj.discount_percentage |
|
|
|
if obj.is_free or obj.price == 0: |
|
|
|
return 0 |
|
|
|
return obj.discount_percentage |
|
|
|
|
|
|
|
def get_final_price(self, obj): |
|
|
|
if obj.is_free: |
|
|
|
if obj.is_free or obj.price == 0: |
|
|
|
return "0.00" |
|
|
|
return str(obj.final_price) |
|
|
|
|
|
|
|
|