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] 举报,一经查实,本站将立刻删除。