如何使用Archetypes将一种内容类型转换为另一种内容类型

时间:2013-01-03 05:58:28

标签: python plone archetypes

我的内容类型是非文件夹内容类型,我想将此内容类型转换为文件夹。在我的内容类型中有一个多文件字段。我阅读了有关将一种内容类型转换为另一种内容类型的链接http://developer.plone.org/content/archetypes/converting-content-types.html。但是,当我使用浏览器视图运行它时,创建了新的内容类型,除了多文件字段处理的上传文件外,还复制了旧内容的值,它们都是空的。

这是浏览器视图中的代码:

更新:

def migrateaction(self):
    items=self.context.listFolderContents(contentFilter={"portal_type": 'myoldcontent'})
    for item in items:
        id = "%s-new" % item.getId()
        service = self.context.invokeFactory(
                    'mynewcontent',
                    id,
                    rp_category=item.getRp_category(),
                    familyname=item.getFamilyname(),
                    firstname=item.getFirstname(),
                    file=item.getField('file').getRaw(item))
    return 'Successfully migrated.'

我对multifilefield的字段定义:

MultiFileField('file',
    primary=True,
    languageIndependent=True,
    widget = MultiFileWidget(
    label= "File Uploads",
    show_content_type = False,)),

旧内容类型和新内容类型的所有字段定义都相同。

我的代码中是否缺少导致文件无法复制的内容?

0 个答案:

没有答案