Chr*_*row 10 python google-app-engine cursor
如果我遗漏了一些非常明显的东西,我道歉.
我正在使用游标连续调用app引擎.如何判断我是否在最后一个光标上?我现在正在做的当前方法是保存最后一个光标然后测试以查看该光标是否等于当前返回的光标.这需要额外调用数据存储区,这可能是不必要的.
有一个更好的方法吗?
谢谢!
mor*_*aes 19
我不认为在单个数据存储区调用中有一种方法可以使用ext.db,但是使用ndb可以实现.例:
query = Person.query(Person.name == 'Guido')
result, cursor, more = query.fetch_page(10)
Run Code Online (Sandbox Code Playgroud)
如果使用返回的游标将导致更多记录,more将会True.这是在单个RPC调用中巧妙地完成的.
因为你说'最后一个光标'我假设你正在使用游标进行某种分页,这意味着你将使用一个批量获取结果limit.
在这种情况下,当您返回的结果少于限制时,您就知道自己在最后一个光标上.
limit = 100
results = Entity.all().with_cursor('x').fetch(limit)
if len(results)<limit:
# then there's no point trying to fetch another batch after this one
Run Code Online (Sandbox Code Playgroud)
如果你的意思是"让这个光标到达搜索结果的末尾",那么不,不是没有选择光标并再次尝试.如果添加的更多实体与原始搜索条件匹配,则它们在逻辑上落在光标之后(例如,按升序时间戳排序的查询),然后重用该保存的光标将允许您检索这些新实体.
| 归档时间: |
|
| 查看次数: |
4718 次 |
| 最近记录: |