BookSystem/.trae/documents/bug_fix_plan_v2.md
jayhgq 6f4ace886f fix(roles): 修复角色创建时 model_dump 错误
修复角色创建时出现的 AttributeError: 'dict' object has no attribute 'model_dump' 错误,将 role_data.model_dump() 改为 dict(role_data) 以兼容 Pydantic v1 和 v2。

同时优化了搜索布局和样式,确保查询条件和按钮在同一行显示:

1. 修改 admin-crud.css 添加搜索区域不换行样式
2. 调整 role-crud.ts 中的 search 配置
3. 将 GET 查询接口改为 POST /search 方式
4. 修复角色权限分配时的权限加载问题
2026-05-09 17:59:10 +08:00

1.8 KiB
Raw Permalink Blame History

Bug 修复计划版本2

问题描述

问题1查询条件布局仍未生效

前端页面中用户、角色、权限的查询条件和查询、重置按钮没有在同一行显示,需要重新检查配置。

问题2删除 GET 查询接口

用户要求删除原有的 GET 方式查询接口,只保留 POST 方式。

分析

问题1原因分析

fast-crud 的搜索布局配置可能需要调整。当前配置:

search: {
  show: true,
  inline: true,
  expand: false,
}

可能需要调整为:

search: {
  show: true,
  form: {
    inline: true,
  },
  expand: false,
}

问题2修改方案

删除后端三个路由文件中的 GET 查询接口(@router.get("/")),只保留 POST /search 接口。

修改步骤

步骤1修复前端搜索布局配置

修改三个 CRUD 配置文件,调整搜索布局配置:

  1. user-crud.ts: 调整 search 配置
  2. role-crud.ts: 调整 search 配置
  3. permission-crud.ts: 调整 search 配置

步骤2删除后端 GET 查询接口

删除三个后端路由文件中的 GET 查询接口:

  1. users/urls.py: 删除 @router.get("/") 接口
  2. roles/urls.py: 删除 @router.get("/") 接口
  3. permissions/urls.py: 删除 @router.get("/") 接口

修改文件清单

文件 修改内容
frontend/src/modules/admin/views/users/user-crud.ts 调整 search 布局配置
frontend/src/modules/admin/views/roles/role-crud.ts 调整 search 布局配置
frontend/src/modules/admin/views/permissions/permission-crud.ts 调整 search 布局配置
backend/auth/apps/users/urls.py 删除 GET /users/ 查询接口
backend/auth/apps/roles/urls.py 删除 GET /roles/ 查询接口
backend/auth/apps/permissions/urls.py 删除 GET /permissions/ 查询接口