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 + }