2012-08-15 90 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实用程序正在与当地的组件管理器注册。