<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      DFR-類視圖(ViewSet)

      基礎(chǔ)的ViewSet

      views.py

      from rest_framework import viewsets
      from .models import Merchant
      from .serializers import MerchantSerializer
      from rest_framework.response import Response
      from rest_framework import status
      from django.shortcuts import get_object_or_404
      
      class MerchantViewSet(viewsets.ViewSet):
          def list(self,request):
              # get請求
              queryset = Merchant.objects.all()
              serializer = MerchantSerializer(queryset,many=True)
              return Response(data=serializer.data)
      
          def create(self,request):
              # post
              serializer = MerchantSerializer(data=request.data)
              if serializer.is_valid():
                  serializer.save()
                  return Response("success")
              else:
                  return Response("fail",status=status.HTTP_400_BAD_REQUEST)
      
          def retrieve(self,request,pk=None):
              # 查詢
              queryset = Merchant.objects.all()
              merchant = get_object_or_404(queryset,pk=pk)
              serializer = MerchantSerializer(merchant)
              return Response(serializer.data)
      
          def update(self,request,pk=None):
              # put
              queryset = Merchant.objects.all()
              merchant = get_object_or_404(queryset, pk=pk)
              serializer = MerchantSerializer()
              serializer.update(merchant,request.data)
              return Response('success')
      
          def destroy(self,request,pk=None):
              # delete
              queryset = Merchant.objects.all()
              merchant = get_object_or_404(queryset,pk=pk)
              merchant.delete()
              return Response('success')
      

      進階版:ModelViewSet

      上面的例子直接用下面的views.py內(nèi)容即可實現(xiàn)
      views.py

      class MerchantViewSet(viewsets.ModelViewSet):
          queryset = Merchant.objects.all()
          serializer_class = MerchantSerializer
      

      高級版

      在當前的視圖集中增加其他的url,這時候可以使用@active實現(xiàn)
      views.py

      from rest_framework.decorators import action
      
      class MerchantViewSet(viewsets.ModelViewSet):
          queryset = Merchant.objects.all()
          serializer_class = MerchantSerializer
      
          @action(['GET'],detail=False)
          def cs(self,request,*args,**kwargs):
              queryset = self.get_queryset()
              queryset = queryset.filter(name__contains="長沙")
              serializer = MerchantSerializer(queryset,many=True)
              return Response(serializer.data)
      

      urls.py路由部分不需要修改。以后直接可以通過/merchant/cs/可以訪問到name中包含了"長沙"兩個字的所有商家。

      url的書寫

      使用視圖集時,路由應按照下面的方式寫。

      urls.py
      from rest_framework.routers import DefaultRouter
      
      router = DefaultRouter(trailing_slash=False)
      router.register('merchant/',views.MerchantView,basename='merchant')
      
      urlpatterns = [] + router.urls
      
      posted @ 2021-01-01 17:44  xsan  閱讀(192)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产日韩AV免费无码一区二区三区| 成全我在线观看免费第二季| 亚洲中文字幕无码中字| 亚洲精品一区二区制服| 色爱综合激情五月激情| 日韩高清免费一码二码三码| 亚洲婷婷综合色高清在线| jlzz大jlzz大全免费| 国产91色在线精品三级| 国产精品免费AⅤ片在线观看| 国产成人拍国产亚洲精品| 蜜桃av多人一区二区三区| 99在线国内在线视频22| 377人体粉嫩噜噜噜| 国产乱色国产精品免费视频 | 麻豆精品传媒一二三区| 久久亚洲精品无码播放| 国产成人高清精品免费软件| 中文字幕亚洲综合久久2020| 国产jlzzjlzz视频免费看| 国产午夜福利在线机视频| 亚洲国产精品成人综合色在| 99久久无码私人网站| 人妻精品动漫H无码中字| 国产大尺度一区二区视频| 国产亚洲精品成人无码精品网站| 国产精品白浆在线观看免费| 亚洲国产精品ⅴa在线观看| 久久综合色之久久综合色| 亚洲高清WWW色好看美女| 国产在线精品一区二区三区不卡| 亚洲国产片一区二区三区| 久久国产乱子伦免费精品无码| 日本丰满熟妇videossex一| 日本免费一区二区三区久久| 亚洲一区二区偷拍精品| 免费午夜无码片在线观看影院| 日韩精品 在线 国产 丝袜| 一级毛片网| 久久av高潮av喷水av无码| 平安县|