fix certificate create api #117
@@ -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",
|
||||||
|
]
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user