详解drf中的ModelViewSet

详解drf中的ModelViewSet

使用:

# view.py
from rest_framework import viewsets
class PersonalSet(viewsets.ModelViewSet):
    queryset = Personal.objects.all()
    serializer_class = PersonalSerializer
    pagination_class = LargeResultsSetPagination
    permission_classes = (IsAuthenticated,)
    authentication_classes = (JSONWebTokenAuthentication,)

# urls.py
from django.urls import include, path
from rest_framework import routers
from rest_framework.authtoken import views
from rest_framework_jwt.views import obtain_jwt_token

from okr_rest.views import TestGroupSet, QuarterSet, PersonalSet

router = routers.DefaultRouter()
router.register("test_group", TestGroupSet)
router.register("quarter", QuarterSet, base_name="quarter")
router.register("personal", PersonalSet)

urlpatterns = [
    path("", include(router.urls)),
    path("api-auth/", include("rest_framework.urls", namespace="rest_framework")),
    path("api-token-auth/", views.obtain_auth_token),
    path("jwt-auth/", obtain_jwt_token)

说明:

ModelViewSet中默认已经有五个混入类直接封装好处理各种请求.对应关系已经访问url如下: DRF默认已经封装了五种常用的方法,但由于封装不同需要在访问的时候注意访问url(detail是否为true).当然也可以根据自己需要重新各种方法

类名HTTP方法说明detailURL示例
mixins.CreateModelMixinPOST创建数据Falsehttp://localhost/api/personal/
mixins.RetrieveModelMixinGET检索数据Truehttp://localhost/api/personal/30/
mixins.UpdateModelMixinPUT更新数据Truehttp://localhost/api/personal/30/
mixins.DestroyModelMixinDELETE删除数据Truehttp://localhost/api/personal/30/
mixins.ListModelMixinGET获取数据Falsehttp://localhost/api/personal/
223916_bL9y_2663968.jpg
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值