On Wednesday 29 May 2002 04:20 pm, Casey Duncan wrote: > try: > > ob = r.getObject() > ob.function()
ob gets returned as None -- I think this is due to AbstractCatalogBrain::getObject(). I don't believe self.aq_parent is set correctly -- how is it supposed to be set ? > > or if that doesn't work: > > ob = catalog.getobject(r.data_record_id_) AttributeError -- getobject doesnt exist? > ob.function() > > Bear in mind that getObject traverses to the object which is expensive both > in time and memory if the number of results is large. OK -- is there a better way to do all of this ? What I am trying to do is have ZODB store objects and Catalog maintain indexes on them. Now I can come back and do a 'SELECT' on the objects, say for variable != 1, and somehow get access to the original objects if I wish to. Is there somewhere that documents using Catalog and PluginIndexes without all of the other Zope stuff? Any documents on using it with the Zope stuff ? Nic > > hth, > > -Casey > > On Wednesday 29 May 2002 04:05 pm, Nicholas Henke wrote: > > Hello~~ > > I am playing with using the Catalog class in ZCatalog along with > > CatalogQuery > > > to create a generic object layer on top of ZODB. I can index and search > > til > > I > > > am blue in the face, and I always get the correct answers. Now for the > > problems... > > > > Say I have the following obj: > > class test(Persistent): > > variable = 1 > > def function(self): > > print self.__dict__ > > > > now if I do: > > catalog = Catalog() > > catalog.addIndex('variable', Fieldindex('variable')) > > catalog.addColumn('variable') > > obj = test() > > catalog.catalogObject(obj, id(obj)) > > > > catalog_query = CatalogQuery(catalog, "variable==1") > > results = catalog_query() > > for r in results: > > print r.variable # ok > > print r.getRID() # ok > > print r.function # NameError > > > > ...so I can get an object (a mybrains instance )back that allows me to > > print r.variable, but I cannot get r.function(). > > How does one do this? Is there a mapping between RIDs in the catalog and > > real > > > objects somewhere? Do I need to do that mapping in an IOBtree (it would > > make the most sense since I am using id(obj) as the uid in the catalog)? > > Is there somewhere in Zope/google/web that does this? > > > > Thanks for any help!! > > Nic > > > > > > > > _______________________________________________ > > Zope-Dev maillist - [EMAIL PROTECTED] > > http://lists.zope.org/mailman/listinfo/zope-dev > > ** No cross posts or HTML encoding! ** > > (Related lists - > > http://lists.zope.org/mailman/listinfo/zope-announce > > http://lists.zope.org/mailman/listinfo/zope ) _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )