我有这个端点 /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',
}
}