try:

  ob = r.getObject()
  ob.function()

or if that doesn't work:

  ob = catalog.getobject(r.data_record_id_)
  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.

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 )

Reply via email to