【发布时间】:2026-01-30 02:30:01
【问题描述】:
我有一个问题。我第一次使用设置为 Cursor() 的游标调用查询。我从查询中获取 50 个项目
qry = cls.query(cls.store == store_id, cls.user != exclude_user, cls.active == True, cls.offline == False).order(cls.user, cls._key, -cls.created)
我将该 qry 返回给调用类并运行以下提取
result, next_cursor, more = qry.fetch_page(pagination, start_cursor=cursor)
这没问题,然后我使用光标执行以下操作并根据文档将其传递回客户端:
client_params['next_page'] = next_cursor.urlsafe()
我已经记录了这个游标,以确保它在对服务器的返回调用中是相同的,它是
我是这样理解的:
cursor = Cursor(urlsafe=page)
但是,第二次尝试检索接下来的 50 个或更少的项目总是会导致以下错误:
BadRequestError: cursor position is outside the range of the original query
现在整个过程在本地开发机器上运行良好,但在生产中却不行
【问题讨论】:
-
你能在这两种情况下都转储你的查询对象吗?为了使光标正常工作,其他参数应该完全相同
-
查询在两种情况下完全相同。我会在五分钟后得到,我会把它转储并添加到问题中
标签: python google-app-engine app-engine-ndb