我想对 ldap 查询的结果进行分页,以便每个页面的每个查询都有 50 个用户。此处的文档http://ldap3.readthedocs.io/searches.html?highlight=generator建议使用生成器是执行此操作的最简单方法,但是它没有提供有关如何使用它来实现分页的任何详细信息. 当我遍历生成器对象时,它会打印出每个用户条目,即使我在搜索查询中指定了“paged_size=5”。谁能向我解释这里发生了什么?谢谢!!
问问题
2083 次
2 回答
0
尝试将 paged_criticality 参数设置为 True。可能是服务器无法执行分页搜索。如果是这种情况并且 paged_criticality 为 True,则搜索将失败,而不是返回所有用户。
于 2016-12-02T22:14:00.357 回答
0
这是我使用的类似系统:
# Set up your ldap connection
conn = Connection(*args)
# create a generator
entry_generator = conn.extend.standard.paged_search(
search_base=self.dc, search_filter=query[0],
search_scope=SUBTREE, attributes=self.user_attributes,
paged_size=1, generator=True)
# Then get your results:
results = []
for entry in entry_generator:
total_entries += 1
results.append(entry)
if total_entries % 50 == 0:
# do something with results
否则尝试将 page_size 设置为 50 并获得类似的结果。
于 2017-07-04T11:16:14.307 回答