栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

DRF五个扩展类和扩展类的子类的使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DRF五个扩展类和扩展类的子类的使用

五个扩展类:

        

 五个扩展类需要配合GenericAPIview使用,首先引入

from rest_framework.generics import GenericAPIView

from rest_framework.mixins import ListModelMixin,CreateModelMixin, RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin

继承 GenericAPIview我们需要指定查询集和序列化器

# 指定查询集
queryset=Classes.objects.all()
# 指定序列化器
serializer_class=Classesserializers

获取多条数据

class GetView(GenericAPIView,ListModelMixin,CreateModelMixin):
    # 指定查询集
    queryset=Classes.objects.all()
    # 指定序列化器
    serializer_class=Classesserializers

    def get(self, request):
        return self.list(request)
    # 添加数据
    def post(self, request):
       return self.create(request)

查询单条数据

class ClassItemView(GenericAPIView,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin):
    # 指定查询集
    queryset=Classes.objects.all()
    # 指定序列化器
    serializer_class=Classesserializers

    def get(self, request, pk):
       return self.retrieve(request,pk)   
    # 更新单条数据
    def put(self, request, pk):
       return self.update(request,pk)
    # 删除单条数据
    def delete(self, request, pk):
       return self.destroy(request,pk)

扩展类的子类:

        ListAPIView:获取多个数据对象

        CreateAPIView:保存数据

        RetrieveAPIView:获取单一数据对象

        UpdateAPIView:更新数据

        DestroyAPIView:删除数据

# 五个扩展类的子类
from rest_framework.generics import ListAPIView,CreateAPIView,RetrieveAPIView,UpdateAPIView,DestroyAPIView
from .models import Classes
from .serializers import Classesserializers

# 查询和添加
class Getmc(ListAPIView,CreateAPIView):
    queryset = Classes.objects.all()
    serializer_class = Classesserializers

# 查询单条数据,更新和删除
class Getmcs(RetrieveAPIView,UpdateAPIView,DestroyAPIView):
    queryset = Classes.objects.all()
    serializer_class = Classesserializers

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650134.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号