diff --git a/apps/certificate/serializers.py b/apps/certificate/serializers.py index 1f5c595..c816135 100644 --- a/apps/certificate/serializers.py +++ b/apps/certificate/serializers.py @@ -3,20 +3,30 @@ from rest_framework import serializers from apps.certificate.models import Certificate from apps.course.serializers import CourseDetailSerializer +from django.conf import settings class CertificateSerializer(serializers.ModelSerializer): course = serializers.SerializerMethodField() - + certificate_file = serializers.SerializerMethodField() + class Meta: model = Certificate - fields = ['id', 'student', 'course', 'status', 'created_at', 'updated_at',] + fields = ['id', 'student', 'course', 'status', 'created_at', 'updated_at', 'certificate_file'] read_only_fields = ['id', 'student', 'status', 'created_at', 'updated_at',] def get_course(self, obj): return CourseDetailSerializer(obj.course, context=self.context).data + def get_certificate_file(self, obj): + if obj.certificate_file: + request = self.context.get('request') + if request is not None: + return request.build_absolute_uri(obj.certificate_file.url) + return obj.certificate_file.url + return None +