每個Zope對象都有它自己的唯一ID(_p_oid)。使用Zope對象唯一ID(_p_oid)來訪問對象本身
要將其轉換成整數值:
from Shared.DC.xml.ppml import u64 as decodeObjectId
oid = decodeObjectId(getattr(<Object instance>, '_p_oid'))
是否有可能得到對象本身有它_p_oid?
我嘗試這樣做:
from ZODB.utils import p64
object = <RootObject instance>._p_jar[p64(oid)]
但現在看來,這是一個錯誤的方式,因爲越來越對象後,我改變不了任何財產和object.absolute_url()返回空字符串。
在'ZODB/utils.py'中有'oid_repr'和'repr_to_oid',它們在調試時處理oids時非常有用。 –