From 87c70a058aa3d0b4c908716a5f4d2a3095ac282c Mon Sep 17 00:00:00 2001 From: alireza Date: Sat, 29 Mar 2025 22:07:52 +0330 Subject: [PATCH] add certificate_file --- apps/certificate/serializers.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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 +