# BabyMind 项目营养模块第二周周报
本周团队整体推进前后端骨架搭建和宝宝档案链路打通。我则在已有后端底座之上,完成营养模块的数据模型与阶段规则引擎设计,使营养推荐不再停留在需求文档层面,而是具备了可落地的代码结构。经过本周开发,营养模块已具备按月龄自动匹配喂养阶段、维护推荐食材列表的基础能力。
一、本周完成内容
1. 完成营养档案数据模型,定义位于 `backend/models/nutrition_profile.py`。表名 `nutrition_profiles`,通过 `(user_id, baby_id)` 联合唯一约束与宝宝档案关联,字段包括 `feeding_stage`、`allergens`、`avoided_foods`、`preferred_foods`、`dietary_notes`。
2. 在 `backend/services/nutrition_service.py` 中实现 `STAGE_RULES` 阶段规则引擎,共 5 个阶段,每阶段维护 `recommended`、`caution`、`avoid` 三类食材列表以及早/午/晚/加餐模板。每阶段推荐食材 10–12 种,覆盖 0 月龄至 24 月以上。
3. 实现月龄→阶段自动映射函数 `_get_stage_rule_by_age`,用户未手动指定 `feeding_stage` 时,系统根据宝宝出生日期推断当前阶段。
4. 设计过敏原过滤机制 `_restricted_terms`,合并三个来源:宝宝档案 `food_allergies`、营养档案 `allergens`、家庭忌口 `avoided_foods`。被过滤项写入 `filtered_reasons` 供前端展示。
5. 在 `tests/test_nutrition.py` 中编写首批 4 组用例:默认推荐、过敏原过滤、健康记录联动、用户隔离。
二、核心文件
- 数据模型:`backend/models/nutrition_profile.py`
- 业务逻辑:`backend/services/nutrition_service.py`
- 请求结构:`backend/schemas/nutrition.py`
- 测试:`tests/test_nutrition.py`
三、下周计划
1. 实现 `build_nutrition_recommendations` 及 `GET /api/v1/nutrition/{baby_id}/recommendations` 接口。
2. 接入健康记录 `affects_diet` 联动与疫苗接种期饮食提示。
3. 整理 `data/knowledge_base/nutrition/` 资料,配合 RAG 知识库建设。
&spm=1001.2101.3001.5002&articleId=160102011&d=1&t=3&u=06e384f24ea54a488d976f67f02c53b1)
1112

被折叠的 条评论
为什么被折叠?



