首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Django REST Framework-视图集类型(二)

Django REST Framework-视图集类型(二)

原创
作者头像
玖叁叁
发布于 2023-04-25 09:36:40
发布于 2023-04-25 09:36:40
7300
举报
文章被收录于专栏:玖叁叁玖叁叁

GenericViewSet

GenericViewSet 继承自 GenericAPIView,它是 ModelViewSet 和 ReadOnlyModelViewSet 的基类,提供了基本的视图操作,包括列表查询、详情查询、创建、更新和删除等。

与 ModelViewSet 和 ReadOnlyModelViewSet 不同的是,GenericViewSet 不自动绑定任何查询集和序列化器,需要手动配置。例如,我们可以在 views.py 文件中定义一个 PublisherViewSet 视图集:

代码语言:javascript
复制
from rest_framework import viewsets
from .models import Publisher
from .serializers import PublisherSerializer

class PublisherViewSet(viewsets.GenericViewSet):
    queryset = Publisher.objects.all()
    serializer_class = PublisherSerializer

    def list(self, request, *args, **kwargs):
        # 列表查询操作
        pass

    def create(self, request, *args, **kwargs):
        # 创建操作
        pass

    def retrieve(self, request, *args, **kwargs):
        # 详情查询操作
        pass

    def update(self, request, *args, **kwargs):
        # 更新操作
        pass

    def partial_update(self, request, *args, **kwargs):
        # 部分更新操作
        pass

    def destroy(self, request, *args, **kwargs):
        # 删除操作
        pass

在这个例子中,我们使用 viewsets.GenericViewSet 创建一个视图集,并将 Publisher 模型的查询集设置为 Publisher.objects.all(),将 PublisherSerializer 序列化器设置为默认序列化器。然后,我们手动实现了视图集的各种操作,包括列表查询、创建、详情查询、更新、部分更新和删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • GenericViewSet
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档