我有一个非文件夹内容类型的内容类型,我想将此内容类型转换为文件夹。在我的内容类型中有一个多文件字段。我读了这个链接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,)),
对于新旧内容类型,所有字段定义都是相同的。
我的代码中是否缺少导致文件无法复制的问题?