Files
OnlineJudge/ai/serializers.py
2026-06-05 00:58:51 -06:00

28 lines
898 B
Python

from utils.api import serializers
from .models import AIAnalysis
class AIAnalysisListSerializer(serializers.ModelSerializer):
username = serializers.CharField(source="user.username")
analysis_excerpt = serializers.SerializerMethodField()
class Meta:
model = AIAnalysis
fields = ["id", "create_time", "username", "analysis_excerpt", "is_pinned"]
def get_analysis_excerpt(self, obj):
if not obj.analysis:
return ""
text = " ".join(obj.analysis.split())
return text[:120] if len(text) <= 120 else text[:120] + ""
class AIAnalysisDetailSerializer(serializers.ModelSerializer):
username = serializers.CharField(source="user.username")
class_name = serializers.CharField(source="user.class_name")
class Meta:
model = AIAnalysis
fields = ["id", "create_time", "username", "class_name", "analysis"]