У меня примерно следующее. В основном мне нужно получить доступ к классу метода экземпляра из декоратора, используемого для метода экземпляра в его определении.
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
Код как есть:
AttributeError: объект 'функция' не имеет атрибута 'im_class'
Я нашел аналогичный вопрос / ответы - декоратор Python заставляет функцию забыть, что он принадлежит классу, и класс Get в декораторе Python, но они полагаются на обходной путь, который захватывает экземпляр во время выполнения, выхватывая первый параметр. В моем случае я буду вызывать метод на основе информации, полученной из его класса, поэтому я не могу дождаться поступления вызова.