管理员信息管理之获取管理员用户列表数据

该博客介绍了如何使用Django的ModelViewSet和自定义序列化器管理后台的管理员信息,包括增删改查操作。通过设置queryset过滤出is_staff为True的用户,并利用UserPageNum进行分页处理。请求方式为GET,返回用户id、用户名、邮箱和手机号等关键数据。
摘要由CSDN通过智能技术生成

管理员信息管理

在系统管理中我们需要完成管理员表的增删改查,这时候我们可以借助于视图集中的ModelViewset来完成相应的操作

获取管理员用户列表数据

接口分析

请求方式: GET /meiduo_admin/permission/admins/

# --------管理员路由--------
router = DefaultRouter()
router.register('permission/admins', admin.AdminView, base_name='admin')
print(router.urls)
urlpatterns += router.urls

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

返回数据: JSON

  {
        "id": "用户id",
        "username": "用户名",
        "email": "邮箱",
        "mobile": "手机号"
    }
返回值类型是否必须说明
idint用户id
usernamestr用户名
Emailstr页码
mobilestr总页数

后端实现

from rest_framework.viewsets import ModelViewSet
from meiduo_admin.serializers.admin import AdminSerializer
from users.models import User
from meiduo_admin.utils import UserPageNum


class AdminView(ModelViewSet):
    serializer_class = AdminSerializer
    # 获取管理员用户
    queryset = User.objects.filter(is_staff=True)
    pagination_class = UserPageNum

序列化器的定义

from rest_framework import serializers
from users.models import User


class AdminSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = "__all__"
        extra_kwargs = {
            'password': {
                'write_only': True
            }
        }

运行效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值