gpt4 book ai didi

google-app-engine - 使用光标向后分页有效但缺少项目

转载 作者:太空宇宙 更新时间:2023-11-03 15:20:34 24 4
gpt4 key购买 nike

来自 looking for ideas/alternatives to providing a page/item count/navigation of items matching a GAE datastore query ,我可以找到如何通过 REVERSING ORDER 使用单个光标向后导航页面的提示。

class CursorTests(test_utils.NDBTest):

def testFirst(self):
class Bar(model.Model):
value = model.IntegerProperty()

self.entities = []
for i in range(10):
e = Bar(value=i)
e.put()
self.entities.append(e)

q = Bar.query()
bars, next_cursor, more = q.order(Bar.key).fetch_page(3)
barz, another_cursor, more2 = q.order(-Bar.key).fetch_page(3, start_cursor=next_cursor)
self.assertEqual(len(bars), len(barz))

不幸的是,它因这个错误而失败。

Traceback (most recent call last): File "/Users/reiot/Documents/Works/appengine-ndb-experiment/ndb/query_test.py", line 32, in testFirst self.assertEqual(len(bars), len(baz)) AssertionError: 3 != 2

是的,反向查询缺少边界中的项目。

bars = [Bar(key=Key('Bar', 1), value=0), Bar(key=Key('Bar', 2), value=1), Bar(key=Key('Bar', 3), value=2)] 
bars = [Bar(key=Key('Bar', 2), value=1), Bar(key=Key('Bar', 1), value=0)]

我该如何解决这个问题?

最佳答案

好的,这是官方答案。您需要“反转”光标,如下所示:

rev_cursor = cursor.reversed()

我自己也不知道。 :-( 我会确保这显示在 fetch_page() 的文档中。

关于google-app-engine - 使用光标向后分页有效但缺少项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10240454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com