django - Djoser 权限覆盖

我有这个端点 /auth/users/ 显示所有用户及其数据,只有管理员可以看到所有用户数据,当前用户只能看到他的数据(电子邮件,名字,姓氏......)所以我想要任何用户获取所有用户的数据我将 djoser 设置更改为此但我仍然只获取当前用户数据我该如何解决这个问题?

DJOSER = {
    'PERMISSIONS': {
 
    'user': ['rest_framework.permissions.IsAuthenticated'],
    'user_list': ['rest_framework.permissions.IsAuthenticated'],
 
    },
    'SERIALIZERS': {
        'user_create': 'core.serializers.UserCreateSerializer',
        'current_user': 'core.serializers.UserSerializer',
        'user': 'core.serializers.CurrentUserSerializer',
 
    }
} ```

回答1

解决方案:您需要将 hide_users 设置为 false

DJOSER = {
    'HIDE_USERS': False,
    'PERMISSIONS': {

    'user': ['rest_framework.permissions.IsAuthenticated'],
    'user_list': ['rest_framework.permissions.IsAuthenticated'],
    },
    'SERIALIZERS': {
        'user_create': 'core.serializers.UserCreateSerializer',
        'current_user': 'core.serializers.UserSerializer',
        'user': 'core.serializers.CurrentUserSerializer',

    }
}

相似文章

最新文章