更新权限表数据
1、 获取修改权限表的详情信息
点击修改按钮时,我们需要先获取要修改的商品详情信息
接口分析
请求方式: GET /meiduo_admin/permission/perms/(?P<pk>\d+)/
请求参数: 通过请求头传递jwt token数据。
在头部中携带要获取的权限商品ID
返回数据: JSON
{
"id": "权限id",
"name": "权限名称",
"codename": "权限识别名",
"content_type": "权限类型"
}
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | Int | 是 | 权限id |
name | Str | 是 | 权限名称 |
codename | str | 是 | 限识别名 |
content_type | int | 是 | 权限类型 |
后端实现
from django.contrib.auth.models import Permission, ContentType
from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.permission import PermissionSerializer, ContentTypeSerializer
from meiduo_admin.utils import UserPageNum
from rest_framework.response import Response
# PermissionView继承的是ModelViewSet 所以获取详情逻辑还是使用同一个类视图
class PermissionView(ModelViewSet):
serializer_class = PermissionSerializer
queryset = Permission.objects.all()
pagination_class = UserPageNum
# 获取权限类型数据
def content_types(self, request):
# 查询全选分类
content = ContentType.objects.all()
# 返回结果
ser = ContentTypeSerializer(content, many=True)
return Response(ser.data)
2、修改权限表
接口分析
请求方式: PUT /meiduo_admin/goods/(?P<pk>\d+)/
请求参数: 通过请求头传递jwt token数据。
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
name | str | 是 | 权限名称 |
codename | str | 是 | 权限识别名 |
content_type | str | 是 | 权限类型 |
返回数据: JSON
{
"id": "权限id",
"name": "权限名称",
"codename": "权限识别名",
"content_type": "权限类型"
}
参数 | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | Int | 是 | 权限id |
name | Str | 是 | 权限名称 |
codename | str | 是 | 限识别名 |
content_type | int | 是 | 权限类型 |
后端实现
from django.contrib.auth.models import Permission, ContentType
from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.permission import PermissionSerializer, ContentTypeSerializer
from meiduo_admin.utils import UserPageNum
from rest_framework.response import Response
# PermissionView继承的是ModelViewSet 所以获取详情逻辑还是使用同一个类视图
class PermissionView(ModelViewSet):
serializer_class = PermissionSerializer
queryset = Permission.objects.all()
pagination_class = UserPageNum
# 获取权限类型数据
def content_types(self, request):
# 查询全选分类
content = ContentType.objects.all()
# 返回结果
ser = ContentTypeSerializer(content, many=True)
return Response(ser.data)