我正在尝试实现一个简单的模型类,只要在类中设置一个属性,它就会执行回调,但是当我尝试在我的应用程序中使用它时,我得到了一个 AttributeError 。似乎该实例没有我在初始化程序中设置的属性,我对为什么有点困惑。我没有太多使用魔术方法,所以一些详细说明可能会有所帮助:
class ReportModel(object):
def __init__(self):
self.current_date = None
self.prior_date = None
self._callbacks = defaultdict([])
def __setattr__(self, attr, value):
object.__setattr__(self, attr, value)
for func in self._callbacks[attr]:
func(value)
def set_callback(self, attr, function):
self._callbacks[attr].append(function)
追溯:
AttributeError: 'ReportModel' object has no attribute '_callbacks'