On 2006/06/27, at 3:16, Florent Guillaume wrote:

Robert Gravina wrote:
I've been having trouble getting the object ID of persisted objects in the ZODB. I have read that the _p_oid attribute is supposed to contain this, but when I access persisted objects from a filestore and check this value it always seems to be None. Also, is there any way to get an object ID *before* an object has been persisted?

You can call container._p_jar.add(yourobject) to have it get an oid before commit time.


Thankyou! I will try that soon. I just tried loading a persisted object interactively and noticed that although the _p_oid doesn't print out as anything (and hence I always thought it was empty in my debugging prints), it isn't actually None! Can anyone explain this? (here "p" is my persisted object)

>>> p._p_oid
'\x00\x00\x00\x00\x00\x00\x00\x08'
>>> print p._p_oid
>>> p._p_oid is None
False


Robert

Florent

--
Florent Guillaume, Nuxeo (Paris, France)   Director of R&D
+33 1 40 33 71 59   http://nuxeo.com   [EMAIL PROTECTED]

_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to