SuperAPI AI 工具集

django-drf

编程与开发

查看项目

更新于 10-16 04:35

技能介绍

用途:为 Django REST Framework(DRF)接口开发提供一套可复用的模式与检查清单,覆盖模型、ViewSet、序列化器、过滤、权限、分页、路由、OpenAPI 文档与测试。

主要能力:按操作拆分序列化器(Read/Create/Update/Include);写序列化器继承 BaseWriteSerializer 校验未知字段;复杂过滤使用 filterset_class;在 get_queryset() 中用 select_related/prefetch_related 避免 N+1;为 drf-spectacular 处理 swagger_fake_view;用 @extend_schema_field 补充 OpenAPI 文档;业务逻辑放入 services/utils;主键使用 UUIDv4/UUIDv7;URL 关闭尾斜杠(trailing_slash=False)。还包含按 action 选择序列化器与权限、缓存装饰器、自定义 action、多值过滤、ArrayField 过滤、日期范围校验、PaginateByPkMixin 等性能模式,以及输入校验、防批量赋值、对象级权限、限流、防信息泄露等安全模式。

使用方式:按实现清单顺序推进——模型、ViewSet、序列化器、过滤、权限、分页、路由、OpenAPI、测试。开发命令示例:cd api && uv run python src/backend/manage.py runserver;迁移用 makemigrations/migrate;测试用 cd api && uv run pytest -x --tb=short 与 cd api && uv run make lint。可配合 Context7 MCP 查询 Django、DRF、drf-spectacular 文档。

适用场景:需要遵循统一约定的 DRF 通用 API 开发,尤其是 Prowler API 相关实现。

限制:资料未提供具体版本兼容范围、性能基准或部署要求;swagger_fake_view 为 drf-spectacular 特有;部分模式依赖项目内基类(如 BaseRLSViewSet、RLSSerializer),需在对应代码库中使用。