[Zope-DB] regarding zope database
dieter at handshake.de
Mon Jan 30 15:08:23 EST 2006
"<-bhavana ->" <hi.bhavana at gmail.com> wrote at 2006-1-30 10:27 +0700:
>How to communicate with zope database?
You use Zope (or scripts using the Zope codebase).
>the documents that we post in Plone
>have id, ya?
There are lots of "id"s around.
The "id" used in Plone is not a universal id, but unique only
locally in the container. Therefore, you cannot use it
to identify and fetch an object.
Modern Plone versions (2.1.x) have documents based on
AT. There have a universal unique id which can be resolved
via the "uid_catalog" into the object.
Someone else already recommended to read the "catalog" section
of the Zope Book (online 2.7 edition). Follow this advice!
All persitent objects already have a "persitent id".
It is not used at application level (as it is meaningless there).
The persistent id is the id used by the Zope database.
When you know the peristent id of an object, you can
load it from ZODB *BUT* it will behave very differently
from how you are acoustomed to. That's because you are
*NOT* working with raw objects in Zope/Plone but with
acquisition wrappers. A ZODB load gives you instead
the raw object, which, among other, does not have
a location, nor an URL nor a parent....
More information about the Zope-DB