fix certificate create api #117

Merged
xoliqberdiyev merged 1 commits from behruz into main 2026-04-27 12:55:47 +00:00
2 changed files with 16 additions and 3 deletions

View File

@@ -3,7 +3,7 @@ from core.apps.evaluation.models import CertificateModel
class BaseCertificateSerializer(serializers.ModelSerializer): class BaseCertificateSerializer(serializers.ModelSerializer):
file = serializers.SerializerMethodField() file = serializers.SerializerMethodField(method_name='get_file', read_only=True)
class Meta: class Meta:
model = CertificateModel model = CertificateModel
@@ -19,4 +19,14 @@ class BaseCertificateSerializer(serializers.ModelSerializer):
if request: if request:
return request.build_absolute_uri(obj.file.url) return request.build_absolute_uri(obj.file.url)
return obj.file.url return obj.file.url
return None return None
class CreateCertificateSerializer(serializers.ModelSerializer):
class Meta:
model = CertificateModel
fields = [
"id",
"title",
"file",
]

View File

@@ -12,7 +12,7 @@ from rest_framework.parsers import MultiPartParser, FormParser
# local apps # local apps
from core.apps.evaluation.models import CertificateModel 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) @extend_schema(tags=["Certificate"],request=BaseCertificateSerializer)
@@ -25,3 +25,6 @@ class CertificateView(BaseViewSetMixin, ModelViewSet):
search_fields = ["title"] search_fields = ["title"]
pagination_class = None pagination_class = None
action_permission_classes = {} action_permission_classes = {}
action_serializer_class = {
"create": CreateCertificateSerializer
}