48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
from rest_framework import serializers
|
|
from core.apps.evaluation.models import ValuationDocumentModel
|
|
|
|
class BaseValuationdocumentSerializer(serializers.ModelSerializer):
|
|
document_type_display = serializers.CharField(source="get_document_type_display", read_only=True)
|
|
uploaded_by_name = serializers.CharField(source="uploaded_by.get_full_name", read_only=True)
|
|
|
|
class Meta:
|
|
model = ValuationDocumentModel
|
|
fields = [
|
|
"id",
|
|
"valuation",
|
|
"document_type",
|
|
"document_type_display",
|
|
"title",
|
|
"file",
|
|
"uploaded_by",
|
|
"uploaded_by_name",
|
|
"created_at",
|
|
]
|
|
|
|
class ListValuationdocumentSerializer(BaseValuationdocumentSerializer):
|
|
class Meta(BaseValuationdocumentSerializer.Meta):
|
|
fields = [
|
|
"id",
|
|
"valuation",
|
|
"document_type_display",
|
|
"title",
|
|
"file",
|
|
]
|
|
|
|
class RetrieveValuationdocumentSerializer(BaseValuationdocumentSerializer):
|
|
class Meta(BaseValuationdocumentSerializer.Meta):
|
|
fields = BaseValuationdocumentSerializer.Meta.fields + [
|
|
"description",
|
|
"updated_at",
|
|
]
|
|
|
|
class CreateValuationdocumentSerializer(BaseValuationdocumentSerializer):
|
|
class Meta(BaseValuationdocumentSerializer.Meta):
|
|
fields = [
|
|
"valuation",
|
|
"document_type",
|
|
"title",
|
|
"file",
|
|
"description",
|
|
]
|