Привет, у меня есть примерно что-то вроде следующего. В основном мне нужно получить доступ к классу метода экземпляра из декоратора, используемого в методе экземпляра в его определении.
def decorator(view):
# do something that requires view class
print view.im_class
return view
class ModelA(object):
@decorator
def a_method(self):
# do some stuff
pass
Код as-is дает
AttributeError: 'function' object has no attribute 'im_class'
Я нашел похожие вопросы/ответы - Декодер Python заставляет функцию забыть, что она принадлежит классу и Получить класс в Python decorator - но они полагаются на обходное решение, которое захватывает экземпляр во время выполнения, выхватывая первый параметр. В моем случае я буду вызывать метод на основе информации, полученной из его класса, поэтому я не могу дождаться вызова.
Спасибо.