diff --git a/backend/diary/serializers.py b/backend/diary/serializers.py index e161c95..d822c25 100755 --- a/backend/diary/serializers.py +++ b/backend/diary/serializers.py @@ -43,7 +43,7 @@ class DiaryEntrySerializer(serializers.ModelSerializer): class Meta: model = DiaryEntry - fields = '__all__' + fields = ['id', 'progresses', 'linked_tasks', 'experiences', 'comments', 'date', 'title', 'content', 'completed_tasks', 'learned', 'problems', 'reflections', 'improvements', 'plans', 'created_at', 'updated_at'] class TaskSerializer(serializers.ModelSerializer): status_display = serializers.CharField(source='get_status_display', read_only=True) diff --git a/frontend/index.html b/frontend/index.html index ae48888..6fa0c05 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -281,6 +281,15 @@ scores: { quality: '', efficiency: '', creativity: '', learning: '' } }; + async function loadComments(contentType, objectId) { + try { + const res = await fetch(`${API_BASE}/comments/by_content/?content_type=${contentType}&object_id=${objectId}`); + return await res.json(); + } catch (e) { + return []; + } + } + async function loadData() { try { const [taskStatsRes, tasksRes, diaryStatsRes, entriesRes, expStatsRes, experiencesRes] = await Promise.all([ @@ -297,6 +306,18 @@ state.allEntries = await entriesRes.json(); state.expStats = await expStatsRes.json(); state.allExperiences = await experiencesRes.json(); + + // 加载所有批注 + for (const entry of state.allEntries) { + entry.comments = await loadComments('diary', entry.id); + } + for (const task of state.allTasks) { + task.comments = await loadComments('task', task.id); + } + for (const exp of state.allExperiences) { + exp.comments = await loadComments('experience', exp.id); + } + render(); } catch (error) { document.getElementById('app').innerHTML = `
加载失败:${error.message}
`;