Skip to content
Discussion options

You must be logged in to vote

@gzqy-hub 这个报错和你已经手动执行的 legacy-model-types 数据迁移是两回事——这是一个独立的后端 bug,在其他 1.17.0 用户中也有报告 [1] [2]

原因:删除模型的接口使用 @model_validate(ParserDeleteModels) 校验请求,要求 body 中包含 modelmodel_type 字段。但该校验装饰器在处理 DELETE 请求时只读取 URL query string,不会读取前端实际发送的 JSON body,所以拿到的是空字典,最终报出 "Field required" / unprocessable_entity 422 错误 [1]

这个问题已在 PR #41288(2026-08-26 合并)中修复,让 model_validate 在 DELETE 请求 query string 为空时回退读取 JSON body。另一位用户在自己的 dify-api:1.17.0 镜像上手动应用了该 PR 后确认问题解决 [1]

建议:等待包含此修复的下一个补丁版本发布,或者暂时从 main 分支自行构建 API 镜像。你执行的 legacy-model-types 迁移只是校正数据库里 model_type 枚举值,不影响接口对删除请求参数的解析。

如果想进一步确认是否为同一问题,可以打开浏览器开发者工具的网络面板,查看点击"移除模型"确认时 DELETE 请求的响应,确认报错信息中是否包含 "loc":["model"]"loc":["model_type"] 的 "Field r…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by gzqy-hub
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Help
Labels
None yet
1 participant