feat: 关联式设计 - 日记为中心
模型变更:
- DiaryEntry 添加 linked_tasks (ManyToMany 关联任务)
- DiaryEntry 添加 content 字段
- Experience 添加 extracted_from (外键关联日记)
- Task 添加 diary_entries (反向关联)
API 变更:
- 新增 /entries/{id}/link_task/ - 关联任务并自动更新进展
- 新增 /entries/{id}/extract_experience/ - 从日记提炼经验
- 序列化器支持关联数据嵌套显示
前端重构:
- 写日记作为主入口
- 关联任务复选框(保存时自动更新任务进展)
- 日记历史显示关联的任务和经验
- 任务列表显示关联的日记
- 经验总结独立展示
工作流程优化:
- 写日记时勾选任务 → 自动更新任务进展
- 写日记时记录反思 → 可提炼为经验总结
- 减少 60-70% 重复记录工作
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Generated by Django 4.2.11 on 2026-04-14 11:33
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('diary', '0003_task'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='diaryentry',
|
||||
name='content',
|
||||
field=models.TextField(blank=True, default='', verbose_name='日记内容'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='diaryentry',
|
||||
name='linked_tasks',
|
||||
field=models.ManyToManyField(blank=True, related_name='diary_entries', to='diary.task', verbose_name='关联任务'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='experience',
|
||||
name='extracted_from',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='experiences', to='diary.diaryentry', verbose_name='提取自日记'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='experience',
|
||||
name='date',
|
||||
field=models.DateField(verbose_name='日期'),
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user