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", ]