有没有类似“符号链接”(在* nixes术语中)但在Plone中的ZODB中的对象?

时间:2011-01-28 20:18:25

标签: python symlink plone zope zodb

假设我在/school1/document-rules中有一个对象。

假设在另一个上下文/school2中,我需要document-rules中提供的/school1/document-rules {。}}。

在ZODB中,/school1/document-rules/school2/document-rules表示我有两个不同的对象。

我想知道是否可以/school2/document-rules 参考 /school1/document-rules。因此,/school2/document-rules类似于“ReferenceDocument”,“ReferenceLink”或类似于指向/school1/document-rules的符号链接。

为什么呢?文档是相同的,但有时在不同的上下文中使用相同的文档更有意义(在语义上)。我有根据其上下文呈现的portlet,我不想复制document-rules

我喜欢的东西存在吗? Bultin还是使用模块?

3 个答案:

答案 0 :(得分:7)

SimpleAlias做你想要的。我用过它并且效果很好。您还可以查看collective.alias

答案 1 :(得分:1)

ZODB透明地处理引用,正如您在普通Python中所期望的那样。你有一个很好的解释here

当您要删除对象时,应注意同一对象的多个引用。为此,您可能希望使用weakref module from ZODB对您的'符号链接'使用弱引用,这相当于Python标准库的weakref。

答案 2 :(得分:1)

我为此使用了名为RedirectionTool的产品。