2012-08-15 83 views
0

來檢索內容對象的INTID Canoncial方式的five.intid文檔指出用於檢索INTID爲 對象以下模式:基於敏捷

from five.intid import site 
intids = site.get_intids(app.plone) 
intid_obj = intids.getId(app.plone.restrictedTraverse('path/to/object') 

這是對canoncical方式也Plone中或是否有一些幫助/實用方法 可用包裝上面的代碼?

+0

請注意:您確定要使用intids?最後一次我問了類似的問題,我得到的答案,並不是完全支持,並且你應該避免它們... – 2012-08-15 08:39:01

+0

@MikkoOhtamaa:過去,更多的痕跡對我們造成了一些問題,尤其是與關係結合使用時。從那以後,我解決了一些皺紋。 – 2012-08-15 09:21:16

+0

使用intids有什麼選擇? – 2012-08-15 10:13:03

回答

2

我總是用:

from zope.component import getUtility 
from zope.intid.interfaces import IIntIds 

intid = getUtility(IIntIds).getId(object) 

爲INTID實用程序正在與當地的組件管理器註冊。