我有一个UserUpdateAPIView
,在其中我可以编辑用户信息:
class UserUpdateAPIView(RetrieveUpdateAPIView):
queryset = User.objects.filter(is_admin=False, is_staff=False, is_superuser=False).exclude(status=4)
serializer_class = UserDetailSerializer
lookup_field = "username"
def perform_update(self, serializer):
serializer.save()
UserDetailSerializer
:
class UserDetailSerializer(ModelSerializer):
"""
user detail
"""
class Meta:
model = User
exclude = [
'password',
]
depth = 1
现在,每个用户都可以访问UserUpdateAPIView
,所以这是一个糟糕的设计。我只想超级管理员和用户自己都可以访问APIView,怎么实现呢?你知道吗
我知道我可以使用permissions = [IsAdminUser]
来允许管理员用户访问这个API,但是我只想让超级管理员用户和用户本身访问这个API。你知道吗
相关问题 更多 >
编程相关推荐