如何将无序文件夹迁移到有序的in Plon

2024-09-30 20:29:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文件夹内容类型,它是从plone 4中的ATBTreeFolder派生的(实际上是在产品。原型)将排序设置为“无序”。在

如果我继续将排序设置为按顺序排列,这只是一个空字符串,那么文件夹就会混乱,不会显示文件夹的内容。事实上,我会得到这样的错误:

  File "buildout-cache/eggs/plone.folder-1.0.1-py2.6.egg/plone/folder/default.py", line 130, in getObjectPosition
    raise ValueError('No object with id "%s" exists.' % id)
ValueError: No object with id "someid" exists.

我假设需要运行一些迁移才能在一个原本无序的文件夹上设置排序,但我在中找不到适合这种情况的任何东西plone.app.文件夹以及plone.folder文件. 在


Tags: no文件夹id类型内容object排序产品
1条回答
网友
1楼 · 发布于 2024-09-30 20:29:59

我写了一个升级脚本,似乎可以解决这个问题:

catalog = getToolByName(context, 'portal_catalog')
for brain in catalog(portal_type='MyType'):
    obj = brain.getObject()
    if obj._ordering == 'unordered':
        obj.setOrdering(u'')
    order = obj.getOrdering()
    for id in obj._tree:
        if id not in order._order():
            order.notifyAdded(id)

相关问题 更多 >