rest_famework 增删改查初第三阶段(高级,此阶段是优化第二阶段的代码)的使用

url:
re_path('authors/$', views.AuthorView.as_view()),
re_path('book/(?P<pk>\d+)/$', views.BookView.as_view()),



#此阶段已经优化点了所有的retrun 返回数据 全部写到generics 父类里面去了
from rest_framework.mixins import CreateModelMixin      as create           #创建数据
from rest_framework.mixins import ListModelMixin as get_list_all #查看所有数据
from rest_framework.mixins import DestroyModelMixin as delete #删除数据
from rest_framework.mixins import RetrieveModelMixin as get_list_one #查看一条数据
from rest_framework.mixins import UpdateModelMixin as updata #更新数据


from rest_framework import mixins
from rest_framework import generics


class BookViewSet(generics.ListCreateAPIView): #class ListCreateAPIView(mixins.ListModelMixin,mixins.CreateModelMixin,GenericAPIView):

queryset = Book.objects.all()
serializer_class = BookSerializers

class BookDetailViewSet(generics.RetrieveUpdateDestroyAPIView): #class RetrieveUpdateDestroyAPIView(mixins.RetrieveModelMixin,mixins.UpdateModelMixin,mixins.DestroyModelMixin,GenericAPIView):
queryset = Book.objects.all()
serializer_class = BookSerializers

class PublishViewSet(generics.ListCreateAPIView):

queryset = Publish.objects.all()
serializer_class = PublshSerializers

class PublishDetailViewSet(generics.RetrieveUpdateDestroyAPIView):
queryset = Publish.objects.all()
serializer_class = PublshSerializers

结果:

 

 

相关文章

django跟redis交互的示例:在django项目同名文件夹下的setti...
django应对sql注入攻击的方法:1.使用django自带的数据库API...
在django中引入jquery的方法:1.下载jquery源文件;2.新建st...
用django搭建网站的操作方法:1.快捷键win+r,打开运行窗口,...
如果 PyCharm 无法创建 Django 项目,可以尝试以下解决方法:...
要在PyCharm中安装Django框架,请按照以下步骤进行操作:1. ...