Mixin类

 

#测试APIView的request
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from app.models import BookInfo
from app.serializers import BookModelSerializer
#导入GenericAPIView
from rest_framework.generics import GenericAPIView
from rest_framework.mixins import ListModelMixin,CreateModelMixin,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin


class BookListMixinGenericAPIView(GenericAPIView,ListModelMixin,CreateModelMixin):

    queryset = BookInfo.objects.all()
    serializer_class = BookModelSerializer

    def get(self,request):
        '''列表视图:查询所有书籍'''
        return self.list(request)


    def post(self,request):
        '''列表视图:创建单本书籍'''
        return self.create(request)

class BookDetailMixinGenericAPIView(GenericAPIView,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin):
    #提供通用属性
    queryset = BookInfo.objects.all()
    serializer_class = BookModelSerializer
    lookup_url_kwarg = 'book_id'

    def get(self,request,book_id):
        '''详情视图:查询一本书籍'''
        return self.retrieve(request)

    def put(self,request,book_id):
        '''修改一本书籍'''
        return self.update(request)

    def delete(self,request,book_id):
        '''删除一本书籍'''
        return self.destroy(request)

 

posted @ 2020-09-25 16:50  亦木121  阅读(100)  评论(0)    收藏  举报