分组表管理
在系统管理中我们需要完成用户组表的增删改查,这时候我们可以借助于视图集中的ModelViewset来完成相应的操作
获取用户组表列表数据
接口分析
请求方式: GET /meiduo_admin/permission/groups/
# 分组表管理
router = DefaultRouter()
router.register('permission/groups', group.GroupView, base_name='groups')
print(router.urls)
urlpatterns += router.urls
请求参数: 通过请求头传递jwt token数据。
返回数据: JSON
{
"counts": "用户组总数量",
"list": [
{
"id": "组id",
"name": "组名称",
},
...
],
"page": "当前页码",
"pages": "总页码",
"pagesize": "页容量"
}
返回值 | 类型 | 是否必须 | 说明 |
---|---|---|---|
counts | int | 是 | 用户组总数量 |
lists | 数组 | 是 | 用户组表信息 |
page | int | 是 | 页码 |
pages | int | 是 | 总页数 |
pagesize | int | 是 | 页容量 |
后端实现
from django.contrib.auth.models import Group
from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.group import GroupSerialzier
from meiduo_admin.utils import UserPageNum
class GroupView(ModelViewSet):
serializer_class = GroupSerialzier
queryset = Group.objects.all()
pagination_class = UserPageNum
序列化器的定义
from rest_framework import serializers
from django.contrib.auth.models import Group
class GroupSerialzier(serializers.ModelSerializer):
class Meta:
model = Group
fields = "__all__"
运行效果: