Splitting the action of DRF [on hold]

Sometimes I hate the Pythonic way because it made me an idealist.

Look at this:

@action(detail=False, methods=['POST'], permission_classes=(permissions.AllowAny,)) def some_view(self, request, **kwargs):... 

Why is this action so big? How should I split it? Like this?

@action(detail=False,          methods=['POST'],          permission_classes=(permissions.AllowAny,)) def some_view(self, request, **kwargs):... 

Or like this?

@action(     detail=False,      methods=['POST'],      permission_classes=(permissions.AllowAny,)) def some_view(self, request, **kwargs):... 

Maybe like this?

@action(     detail=False,      methods=['POST'],      permission_classes=(permissions.AllowAny,) ) def some_view(self, request, **kwargs):... 

Can I move all those permission_classes to get_permissions and how bad is that?

def get_permissions(self):     permissions_list = {         'some_view': (permissions.AllowAny,),         ...     }.get(self.action, self.permission_classes)      return [permission() for permission in permissions_list] 

and just use it without permission_classes inside action?

@action(detail=False, methods=['POST']) def some_view(self, request, **kwargs):... 

Do you have any ideas? I’m trying to find a practical and beautiful option, but it doesn’t “look” very great. I don’t want to do these long actions…