diff --git a/product/ERP5Type/Accessor/Interface.py b/product/ERP5Type/Accessor/Interface.py index 799110e9fedb716ae0345af2b081d5dcccd35a81..f32542a0eeb071a6d94a5ae4e2a7fb1e853a9ef7 100644 --- a/product/ERP5Type/Accessor/Interface.py +++ b/product/ERP5Type/Accessor/Interface.py @@ -49,6 +49,12 @@ class Getter(Accessor): def __init__(self, id, key): self._id = id self._key = key + self._value = None def __call__(self, instance): - return instance.provides(self._key) + value = self._value + if value is None: + # Store the value for performance + value = instance.provides(self._key) + self._value = value + return value