【问题标题】:how to get object batchwise(pagination) in ZODB如何在 ZODB 中批量获取对象(分页)
【发布时间】:2015-10-27 23:55:15
【问题描述】:

我的 zodb 有一些用户类的对象。用户对象使用位置属性进行索引。所有用户 obj 都以他的位置为索引。如果我搜索某个位置的用户,将获得近 50 个用户。想应用分页。第一次想要 10 个用户,第二次想要接下来的 10 个用户。

【问题讨论】:

    标签: pagination pyramid zodb repoze.bfg


    【解决方案1】:

    你需要有“分页”或“批处理”机制。

    通常编写这样的机制涉及做模板和前端工作以拥有一个页面选择器。为了获得灵感,您可以查看各种 Python 分页实现,包括这个:

    https://github.com/Pylons/paginate

    另请注意,该问题缺少执行分页的源代码示例和视图,因此无法给出详细答案。

    【讨论】:

    • 如何在没有 ORM 的情况下从 zodb 数据库(对象数据库)中获取批量数据? query = Eq('geoindex',user.location) results = idSearch(query, root) if results: for localityobj in results.values(): localities.append((localityobj.geoID,localityobj.name))
    • 在上面的代码中,我将从数据库中获取所有对象,但我希望这些数据是批量的。意味着我将在应该返回数据的这两个数字之间传递一些开始索引和结束索引。对象数据库可以吗?以及如何实现?
    • 请阅读分页源代码,研究思路,然后应用到自己的代码中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 1970-01-01
    相关资源
    最近更新 更多