I have a permission class for my viewset. But it has multiple if statements and the if statements can be added others as well if some action added inside viewset.
So how can I optimize my code here for better performance ?
def has_permission(self, request, view):
user = request.user
if view.action in ["update", "partial_update"]:
return user.is_manager
if view.action == "create":
return user.is_creator
if view.action in ["list", "retrieve"]:
return user.is_viewer
if view.action == "destroy":
return user.is_admin
return False
Here different type of view actions would be performed by different user types.