From 37d6a93529c0932a66b02e7f94eeb65cd2f01049 Mon Sep 17 00:00:00 2001 From: xoliqberdiyev Date: Mon, 27 Apr 2026 17:55:21 +0500 Subject: [PATCH] fix certificate create api --- .../serializers/certificate/certificate.py | 14 ++++++++++++-- core/apps/evaluation/views/certificate.py | 5 ++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/core/apps/evaluation/serializers/certificate/certificate.py b/core/apps/evaluation/serializers/certificate/certificate.py index cabd4c1..3eaeb1f 100644 --- a/core/apps/evaluation/serializers/certificate/certificate.py +++ b/core/apps/evaluation/serializers/certificate/certificate.py @@ -3,7 +3,7 @@ from core.apps.evaluation.models import CertificateModel class BaseCertificateSerializer(serializers.ModelSerializer): - file = serializers.SerializerMethodField() + file = serializers.SerializerMethodField(method_name='get_file', read_only=True) class Meta: model = CertificateModel @@ -19,4 +19,14 @@ class BaseCertificateSerializer(serializers.ModelSerializer): if request: return request.build_absolute_uri(obj.file.url) return obj.file.url - return None \ No newline at end of file + return None + + +class CreateCertificateSerializer(serializers.ModelSerializer): + class Meta: + model = CertificateModel + fields = [ + "id", + "title", + "file", + ] diff --git a/core/apps/evaluation/views/certificate.py b/core/apps/evaluation/views/certificate.py index a38f961..1050450 100644 --- a/core/apps/evaluation/views/certificate.py +++ b/core/apps/evaluation/views/certificate.py @@ -12,7 +12,7 @@ from rest_framework.parsers import MultiPartParser, FormParser # local apps from core.apps.evaluation.models import CertificateModel -from core.apps.evaluation.serializers.certificate import BaseCertificateSerializer +from core.apps.evaluation.serializers.certificate import BaseCertificateSerializer, CreateCertificateSerializer @extend_schema(tags=["Certificate"],request=BaseCertificateSerializer) @@ -25,3 +25,6 @@ class CertificateView(BaseViewSetMixin, ModelViewSet): search_fields = ["title"] pagination_class = None action_permission_classes = {} + action_serializer_class = { + "create": CreateCertificateSerializer + }