J'ai quelque chose à peu près comme ce qui suit. Fondamentalement, 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: l'objet 'function' n'a pas d'attribut 'im_class'
J'ai trouvé des questions / réponses similaires - le décorateur Python fait oublier à la fonction qu'il appartient à une classe et la classe Get dans le décorateur Python - mais ceux-ci reposent sur une solution de contournement qui saisit l'instance au moment de l'exécution en saisissant le premier paramètre. Dans mon cas, j'appellerai la méthode en fonction des informations glanées dans sa classe, donc j'ai hâte qu'un appel arrive.