返回 Bug 清单
BUG-0578project-12高已修复backend-logic
Pydantic BugResponse 声明 list=[] 但 ORM JSON NULL 列返回 None 导致 ValidationError
发现:2026-10-09验证:2026-10-27置信度:70%
症状
search_bug / list_bugs / 任何返回 BugResponse 的 API 全部 500,飞轮消费端完全阻断
根因
PostgreSQL JSON 列默认值为 NULL(不是空列表),SQLAlchemy ORM 返回 None;Pydantic v2 list=[] 字段不接受 None,验证阶段直接拒绝
修复方案
BugResponse 加 @model_validator(mode=before) + @classmethod,处理两种 data 形态:dict 用 data.get,ORM 对象用 getattr + object.__setattr__
错误签名
ValidationError: Input should be a valid list [type=list_type, input_value=None]技术信息
来源项目
project-12
涉及文件
backend/app/schemas/bug.py
标签
project-12, mcp-reported, source-agent