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 )

Reply via email to