diff --git a/bijoe/engine.py b/bijoe/engine.py index 8838f59..b44bd8c 100644 --- a/bijoe/engine.py +++ b/bijoe/engine.py @@ -232,7 +232,10 @@ class ProxyListDescriptor(object): self.chain = chain def __get__(self, obj, t=None): - return ProxyList(obj.engine, obj, self.attribute, self.cls, chain=self.chain) + key = '_proxy_list_cache_%s' % id(self) + if key not in obj.__dict__: + obj.__dict__[key] = ProxyList(obj.engine, obj, self.attribute, self.cls, chain=self.chain) + return obj.__dict__[key] class EngineCube(object):