微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

url:
re_path('authors/$', views.AuthorView.as_view()),
re_path('authors/(\d+)/$', views.AuthorDetailView.as_view()),


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 generics class AuthorSerializers(serializers.ModelSerializer): class Meta: model = models.Author fields = "__all__" #depth = 1 #取消注释,显示更加详细的内容,不然只显示作者的主键值 class AuthorView(create,get_list_all,delete,get_list_one,updata,generics.GenericAPIView): queryset = models.Author.objects.all() #需要提供的数据 前面名字一定要这么写 serializer_class = AuthorSerializers    #需要处理的类 前面名字一定要这么写 def get(self,request,*args,**kwargs): #获取所有数据 return self.list(request,*args,**kwargs) def post(self,request,*args,**kwargs): #创建数据 return self.create(request, *args, **kwargs) class AuthorDetailView(create,get_list_all,delete,get_list_one,updata,generics.GenericAPIView): queryset = models.Author.objects.all() serializer_class = AuthorSerializers def get(self,request,*args,**kwargs): #获取单条数据 return self.retrieve(request,*args,**kwargs) def put(self,request,*args,**kwargs): #创建数据 return self.update(request, *args, **kwargs) def delete(self,request,*args,**kwargs): #删除数据 return self.destroy(request, *args, **kwargs)

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐