用途:在 Django 中构建 REST API 时提供 Django REST Framework 的编码模式,触发场景为使用 ViewSets、Serializers、Filters 开发接口。
主要能力:给出 ViewSet 模式(ModelViewSet、按 action 切换 serializer、@action 自定义动作);Serializer 模式(读、创建、更新分离,SerializerMethodField、write_only 密码处理);Filters(django_filters 的 FilterSet、lookup_expr);权限(BasePermission 自定义 IsOwner、IsAdminOrReadOnly);分页(PageNumberPagination 及 settings.py 全局配置);URL 路由(DefaultRouter 注册);测试(pytest、APIClient、force_authenticate)。
使用方式:按资料中的模式组织代码,例如 ViewSet 声明 queryset、serializer_class、filterset_class、permission_classes,并用 get_serializer_class 按动作返回不同序列化器;过滤器放入独立 FilterSet 类;分页在 settings.py 的 REST_FRAMEWORK 中配置。常用命令:python manage.py runserver、makemigrations、migrate、createsuperuser、shell。
规则与限制:读写创建更新使用独立 serializer,不用单一 serializer 分支 to_representation;ViewSet 必须显式声明 permission_classes;过滤逻辑不写在视图方法内;分页全局配置,仅在需求不同时按视图覆盖;测试用 APIClient 与 force_authenticate,不用 permission_classes = [] 绕过认证。资料未提供安装步骤、版本要求、收费与平台信息。