T-104 M2M 持久化修复:seed_data.py save() + 持久化测试(21 tests)

This commit is contained in:
ila
2026-07-06 22:39:34 +08:00
parent db7dcb8f51
commit 5604e2cde5
3 changed files with 74 additions and 1 deletions
+13
View File
@@ -246,3 +246,16 @@
- 阻塞:无。
- 下一步:T-201 实现基础页面框架(Phase 2 前台 MVP)。
## 2026-07-06 T-104 seed_data M2M 持久化修复
- 状态:DONE
- 变更:
- `core/management/commands/seed_data.py`:`add_child()` 后 M2M `.add()` 仅在内存操作 cluster,不持久化到 DB;新增 `project.save()` / `article.save()` 确保关联写入
- 添加 `--clear` 参数和重复运行保护
- `core/tests.py`:新增 `test_m2m_persists_after_save_and_reload` 测试——save() 后从 DB 重新加载,断言 `scenarios.count() >= 1` 和 `languages.count() >= 1`
- 验证:
- `manage.py seed_data --clear`:5 个项目全部 `scenarios≥1, languages≥1 [OK]`,2 篇文章全部 `related_projects=1 [OK]`
- `manage.py test core home`:21 tests passed(新增 1 个持久化测试)
- 阻塞:无。
- 下一步:T-201 实现基础页面框架(Phase 2 前台 MVP)。