更新分组表数据

1、 获取修改分组表的详情信息

点就修改按钮时,我们需要先获取要修改的分组表详情信息

接口分析

请求方式: GET /meiduo_admin/permission/groups/(?P<pk>\d+)/

请求参数: 通过请求头传递jwt token数据。

在头部中携带要获取的分组ID

返回数据: JSON

 {
           "id": "组id",
           "name": "组名称",
           "permissions": [
            "权限id",
            "权限id",
            ...
           ]
    }
参数 类型 是否必须 说明
id Int 组id
name Str 组名称
permissions str 限识id

后端实现

from django.contrib.auth.models import Permission, ContentType, Group
# GroupView继承的是ModelViewSet 所以获取详情逻辑还是使用同一个类视图
class GroupView(ModelViewSet):
    serializer_class = GroupSerialzier
    queryset = Group.objects.all()
    pagination_class = PageNum
        # 获取权限表数据
    def simple(self, reqeust):
        pers = Permission.objects.all()
        ser = PermissionSerialzier(pers, many=True) # 使用以前定义的全选序列化器
        return Response(ser.data)

2、修改权限表

接口分析

请求方式: PUT /meiduo_admin/permission/groups/(?P<pk>\d+)/

请求参数: 通过请求头传递jwt token数据。

参数 类型 是否必须 说明
name str 组名称
permissions str 权限id

返回数据: JSON

 {
           "id": "组id",
           "name": "组名称",
           "permissions": [
            "权限id",
            "权限id",
            ...
           ]
    }
参数 类型 是否必须 说明
id Int 组id
name Str 组名称
permissions str 限识id

后端实现

from django.contrib.auth.models import Permission, ContentType, Group
# GroupView继承的是ModelViewSet 所以修改逻辑还是使用同一个类视图
class GroupView(ModelViewSet):
    serializer_class = GroupSerialzier
    queryset = Group.objects.all()
    pagination_class = PageNum
        # 获取权限表数据
    def simple(self, reqeust):
        pers = Permission.objects.all()
        ser = PermissionSerialzier(pers, many=True) # 使用以前定义的全选序列化器
        return Response(ser.data)