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