26 三级视图

帮你写好 mixin 和 二级视图 后继承

使用

"""
特点:
如果没有大量自定义的行为, 可以使用通用视图(三级视图)解决

常见的三级视图:
类名称                 父类              提供方法        作用
CreateAPIView       GenericAPIView,   post           创建单个对象
                    CreateModelMixin
                    
ListAPIView         GenericAPIView,    get            查询所有的数据
                    ListModelMixin

RetrieveAPIView     GenericAPIView,    get            获取单个对象
                    RetrieveModelMixin 
                    
DestroyAPIView      GenericAPIView,    delete         删除单个对象
                    DestroyModelMixin
                    
UpdateAPIView       GenericAPIView,    put            更新单个对象
                    UpdateModelMixin             


"""

  

view

# 三级视图!
from rest_framework.generics import ListAPIView,CreateAPIView
class BookInfoThirdView(ListAPIView,CreateAPIView):
    queryset=BookInfo.objects.all()
    serializer_class=BookInfoSerializer

from  rest_framework.generics import RetrieveAPIView,UpdateAPIView,DestroyAPIView
class BookInfoThirdDetailView(RetrieveAPIView,UpdateAPIView,DestroyAPIView):
    queryset = BookInfo.objects.all()# 也是必须填写 后面的get_object()是从这里获取
    serializer_class = BookInfoSerializer

  

url

from django.urls import path,include
from . import views

urlpatterns=[
	.......
    # 三级视图路由
    path('Third_view/',views.BookInfoThirdView.as_view()),
    path('Third_view/<int:pk>',views.BookInfoThirdDetailView.as_view())
]

  

posted @ 2021-11-04 13:57  彡心如止水彡  阅读(76)  评论(0)    收藏  举报