from rest_framework import serializers from .models import TranscriptionTask, AIEvaluation class AIEvaluationSerializer(serializers.ModelSerializer): class Meta: model = AIEvaluation fields = ['id', 'score', 'evaluation', 'model_selection', 'prompt', 'reasoning', 'status', 'error_message', 'created_at', 'updated_at'] class TranscriptionTaskSerializer(serializers.ModelSerializer): ai_evaluation = AIEvaluationSerializer(read_only=True) class Meta: model = TranscriptionTask fields = ['id', 'file_url', 'task_id', 'status', 'transcription', 'summary', 'error_message', 'created_at', 'updated_at', 'transcription_data', 'summary_data', 'auto_chapters_data', 'ai_evaluation'] read_only_fields = ['id', 'file_url', 'task_id', 'status', 'transcription', 'summary', 'error_message', 'created_at', 'updated_at', 'transcription_data', 'summary_data', 'auto_chapters_data', 'ai_evaluation'] class TranscriptionUploadSerializer(serializers.Serializer): file = serializers.FileField(help_text="上传的音频文件")