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): ... class RetrieveDocumentSerializer(BaseDocumentSerializer): class Meta(BaseDocumentSerializer.Meta): ... 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" ]