返回 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