[ZODB-Dev] Computed Attributes and property's

Stephen Masterman stephenmasterman at fastmail.fm
Tue May 17 15:55:19 EDT 2005



Does ZODB have something equivalent to Durus' Computed Attributes? Which
I understand are attributes (or methods) on a Persistent object that
compute a value from some other attributes and then cache that result
for each connection, and if any of the attributes from which the
Computed Attribute computes its result change, the new result will be
automatically computed and all connections will have their cached value
invalidated.

On a related note, do properties work with Persistent objects in ZODB? I
mean the Python property() function. I do not know how it interacts with
__getattr__() and stuff, and I know the ZODB docs warn against messing
with those functions for Persistent classes. If they do work, do they
basically serve as a non-cached computed attribute? Is a Durus Computed
Attribute just a property with caching and consistency for multiple
connections? (I know this isn't a Durus list.)

I'm developing an application for my job that uses ZODB. I think ZODB is
awesome and it has been very instructive studying the code and
documentation and the archives for this list. So thanks all you people
who write this great software and help others understand it. I
eventually hope to produce something useful for less experienced
programmers (like me) about indexing strategies and techniques. Indexing
turns out to be somewhat complicated with important tradeoffs to
consider.


More information about the ZODB-Dev mailing list