Django-rest-framework permissions for create in viewset

前端 未结 3 1414
我寻月下人不归
我寻月下人不归 2020-12-28 08:18

I am trying to create a REST API and am stuck at user registration: basically I need to have the access token before I register.

This is the view:

cl         


        
3条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-28 09:14

    This is based on @argaen answer and it worked for me:

    class UserViewSet(viewsets.ModelViewSet):
        serializer_class = UserSerializer
        permission_classes = (AllowAny,)
        authentication_classes = (NoAuthentication,)
        filter_backends = (filters.DjangoFilterBackend,)
        filter_fields = ('id', 'email', 'name')
    
        def get_queryset(self):
            user = TokenAuthentication().authenticate(self.request)
            if user is not None:
                user = user[0]
                if user.is_superuser:
                    return get_user_model().objects.all()
                else:
                    return get_user_model().objects.filter(id=user.id)
    
            return get_user_model().objects.none() 
    

提交回复
热议问题