[Django]-Django-rest-swagger doesn't work when I want to use get_serializer_class() to return different fields for different user based on the url parameters

0👍

Try raping your code that accesses self.kwargs['pk']
with a try and except block

   def get_serializer_class(self):
        # swagger crash here.
        try:
            user_id = int(self.kwargs['pk'])
        except Exception as e:
            print(e)
        if self.request.user.id == user_id or self.request.user.is_superuser:
            serializer_class = UserSerializer
        else:
            serializer_class = UserProfileSerializer
        return serializer_class

Source https://github.com/marcgibbons/django-rest-swagger/issues/194

Leave a comment