Bonjour, j'ai quelque chose qui ressemble à peu près à ce qui suit. En gros, j'ai besoin d'accéder à la classe d'une méthode d'instance à partir d'un décorateur utilisé sur la méthode d'instance dans sa définition.
def decorator(view):
# do something that requires view's class
print view.im_class
return view
class ModelA(object):
@decorator
def a_method(self):
# do some stuff
pass
Le code tel quel donne
AttributeError: 'function' object has no attribute 'im_class'
J'ai trouvé des questions/réponses similaires - Le décorateur Python fait oublier à une fonction qu'elle appartient à une classe et Obtenir une classe dans le décorateur Python - mais elles reposent sur une solution de contournement qui saisit l'instance au moment de l'exécution en récupérant le premier paramètre. Dans mon cas, je vais appeler la méthode en me basant sur les informations glanées dans sa classe, je ne peux donc pas attendre qu'un appel arrive.
Merci.