来自plone.app.content.batching import使用ImportError失败:没有名为batching的模块

时间:2013-04-23 09:13:18

标签: plone

我刚升级到Plone 4.3,我收到此错误:

ImportError: No module named batching

1 个答案:

答案 0 :(得分:2)

plone.app.content不再提供批处理实现。

替换

from plone.app.content.batching import Batch

try:
    from plone.app.content.batching import Batch # Plone < 4.3
    HAS_PLONE43 = False
except ImportError:
    from plone.batching import Batch # Plone >= 4.3
    HAS_PLONE43 = True

[修改

这两个实现具有不同的API:pagesize参数在plone.app.batching中被命名为size;另外,还需要一个起始索引而不是页码。

如果您的代码看起来像这样

    b = Batch(items,
            pagesize=pagesize,
            pagenumber=pagenumber)

替换为

    if HAS_PLONE43:
        b = Batch(items,
                size=pagesize,
                start=pagenumber * pagesize)
    else:
        b = Batch(items,
                pagesize=pagesize,
                pagenumber=pagenumber)