将引用存储在对象上,而不存储在引用目录中

upfront.simplereferencefield的Python项目详细描述


simplereferencefield是一个archeteyps引用字段实现 将引用直接存储在对象上而不将其索引
参考目录。

创建引用新闻的文档。

>;>>自我登录门户网站()
>>gt;self.portal.invokeFactory('document','doc1')
“文档1”
>>>doc=self.portal['doc1']
>>>文档设置相关项(self.portal.news)
>>>文档重新索引对象()
>>gt;doc.getRelateditems()
[<;atfolder位于/plone/news>;]

文档有关系。
>;>;doc.getRelationships()
['relatesto']

将文档架构中的相关项更改为
简单引用字段。

>;>>来自products.atcontenttypes.content.document import atdocument
>;>>从upfront.simplereferencefield导入simplereferencefield
>>>atdocument.schema['relateditems']=简单引用字段(
…relateditems',relationship='relatesto',多值=1)
>>>atdocument.schema['relateditems'].type
“简单引用”

创建引用新闻的文档。

>>gt;self.portal.invokeFactory('document','doc2')
“文档2”
>>>doc=self.portal['doc2']
>>>文档设置相关项(self.portal.news)
>>>文档重新索引对象()
>>gt;doc.getRelateditems()
[<;atfolder位于/plone/news>;]

文档没有关系。

>;>;doc.getRelationships()
[]

如果我们从DOC2引用DOC1,DOC1将把DOC2设置为back
参考。

>>gt;self.portal.doc2.setRelateditems(self.portal.doc1)
>;>>自我门户.doc2.getRelateditems()
[<;atdocument at/plone/doc1>;]
>;>>自我门户.doc1.getRelateditems()
[<;atdocument at/plone/doc2>;]

默认情况下会设置回引用,但可以禁用。

>>>atdocument.schema['relateditems']=简单引用字段(
…relateditems',relationship='relatesto',多值=1,
…set_backreference=假)
>>gt;self.portal.invokeFactory('document','doc3')
“文档3”
>>gt;self.portal.doc3.setRelateditems(self.portal.doc1)
>>>>自我门户.doc3.getRelateditems()
[<;atdocument at/plone/doc1>;]
>;>>自我门户.doc1.getRelateditems()
[<;atdocument at/plone/doc2>;]

更改日志
=========

0.5.1
----

*仅使用源发行版制作新发行版。卵子分布
无法与BuildOut一起正确安装。

0.5
---

*初次发布

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
多次调用预期方法的java捕获参数(EasyMock)   java我试图得到某个学生的平均值,但它将所有值相加   使用Java更新文件中所有出现的字符串   java从依赖包导入Spring配置(*.xml)   在Java中,如何从不同的偏移量读取大块的字符串文件?   java 安卓 studio未在windows 8中运行   java getResourceAsStream()不读取任何内容   java Google Collections 1.0是否已经专业化?   模型视图控制器ASP。NET母版页在Java中的等效性   计时器TimerTask类在java中只能运行一次   多级继承和foreach Java循环   excel csv到xsl java,有一列带有某种货币(如$400)   java在来电时多次更改BlackBerry的callIncoming()   java通过JNLP启动JavaFX2.0应用程序会引发异常