Mam coś mniej więcej podobnego do następującego. Zasadniczo muszę uzyskać dostęp do klasy metody instancji z dekoratora używanego w metodzie instancji w jej definicji.
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
Kod taki jaki jest daje:
AttributeError: obiekt „function” nie ma atrybutu „im_class”
Znalazłem podobne pytanie / odpowiedzi - dekorator Pythona sprawia, że funkcja zapomina, że należy do klasy, a klasa Get w dekoratorze Pythona - ale te polegają na obejściu, które przechwytuje instancję w czasie wykonywania, przechwytując pierwszy parametr. W moim przypadku będę wywoływał metodę na podstawie informacji zebranych z jej klasy, więc nie mogę się doczekać, aż zadzwoni.