def __setattr__(self, name, new):
fields = super().__getattribute__('_fields')
if name in fields:
try:
old = super().__getattribute__(name)
except AttributeError:
old = undefined
res = super().__setattr__(name, new)
deps = super().__getattribute__('_deps')
if name in deps:
eq = super().__getattribute__('_field_eq')
if old is undefined or not eq(old, new):
deps[name].changed()
else:
res = super().__setattr__(name, new)
return res
评论列表
文章目录