Files
backend-v1/core/apps/evaluation/serializers/document/Document.py
2026-04-03 16:41:39 +05:00

58 lines
1.8 KiB
Python

from rest_framework import serializers
from core.apps.evaluation.models import DocumentModel, AutoEvaluationModel, DocumentcategoryModel
from core.apps.evaluation.serializers.documentcategory import ListDocumentcategorySerializer
class BaseDocumentSerializer(serializers.ModelSerializer):
category = ListDocumentcategorySerializer(read_only=True)
class Meta:
model = DocumentModel
fields = [
"id",
"title",
"document",
"category",
"created_at",
"updated_at"
]
class ListDocumentSerializer(BaseDocumentSerializer):
class Meta(BaseDocumentSerializer.Meta): ...
def get_document(self, obj):
request = self.context.get("request")
if obj.document:
if request:
return request.build_absolute_uri(obj.document.url)
return obj.document.url
return None
class RetrieveDocumentSerializer(BaseDocumentSerializer):
class Meta(BaseDocumentSerializer.Meta): ...
def get_document(self, obj):
request = self.context.get("request")
if obj.document:
if request:
return request.build_absolute_uri(obj.document.url)
return obj.document.url
return None
class CreateDocumentSerializer(BaseDocumentSerializer):
auto_evaluation = serializers.PrimaryKeyRelatedField(queryset=AutoEvaluationModel.objects.all())
category = serializers.PrimaryKeyRelatedField(queryset=DocumentcategoryModel.objects.all())
class Meta(BaseDocumentSerializer.Meta):
fields = [
"id",
"title",
"auto_evaluation",
"document",
"category",
"created_at",
"updated_at"
]