Django 专家
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/django-expert。
技能介绍
症状:接口没变,SQL 越跑越多
Django 服务很少一夜崩掉,它只是慢慢变慢:列表接口每一行数据都触发一次额外查询,首页接口能在慢查询日志里留下几十条 SQL;SerializerMethodField 里随手写的 Model.objects.filter(...) 把 N+1 藏得理直气壮;ForeignKey 加得很随意,等到想做缓存策略时才发现连索引都没有。这些问题的共同点是:代码能跑,但没有人从「模型关系 + 查询路径 + 权限边界」的整体视角做过一次设计。
技能如何工作
Django专家 的分工围绕上面三类问题展开,核心能力包括:
- 模型层:设计
models.Model的关系、字段与索引,产出可执行的迁移计划与管理命令 - API 层:用 DRF 编写序列化器、视图集与权限类
- 性能层:定位 N+1,配置
select_related/prefetch_related、缓存与权限
工作流分五步推进:
- 确认需求:对齐数据模型、API 范围与鉴权方式
- 模型与 queryset:先规划关系与索引,再动手
- 实现:产出 model、serializer、viewset、权限类
- 自检:核对 N+1、迁移、权限边界
- 输出工件:返回
DjangoAppSpec
工件是结构化的:
{app, models:[string], apis:[string], perms:[string], notes:string}
输入可以是自然语言描述的需求、约束与代码片段,也可以接收已有的 DjangoAppSpec 做二次优化。工件会交给下游 database-optimizer 做查询分析,所以输出固定为两段:完整工件 + 自然语言摘要(含质量自检与最该改的 2-3 点)。
适用边界
- 轻量异步 API 不是它的主场,这类场景更适合
fastapi-expert - 不处理 Django 1.x 老版本项目
- 它交付的是设计与实现方案,不等于替你跑
makemigrations
使用场景
- 排查列表接口慢查询:为已上线视图集补充 select_related/prefetch_related 并补索引
- 编写后台 API:用 DRF 序列化器、视图集与权限类实现数据读写接口
- 设计数据模型:规划模型关系、字段类型与迁移步骤
- 审查权限边界:核对接口权限类是否符合鉴权要求
适合人员
- Django 后端工程师:需要设计模型、迁移并优化 queryset 查询
- DRF 接口开发者:要实现序列化器、视图集与权限类
- 性能优化工程师:负责定位 N+1 并配置缓存策略
- 技术负责人:审查 API 鉴权边界与迁移方案的稳健性