1

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

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

更新:

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('file',
    primary=True,
    languageIndependent=True,
    widget = MultiFileWidget(
    label= "File Uploads",
    show_content_type = False,)),

对于新旧内容类型,所有字段定义都是相同的。

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

4

0 回答 0