用于Google Cloud Datastore GQL查询的LIMIT子句中的游标

时间:2013-12-01 10:52:57

标签: python gql google-cloud-datastore

我正在尝试在我的GQL查询中使用游标。根据{{​​3}}和以下示例,我可以这样做:

people = Person.all().filter("age >", 18)
start_cursor = memcache.get('person_start_cursor')

if start_cursor:
   people.with_cursor(start_cursor)

query_people = db.GqlQuery("SELECT * FROM Person WHERE age < 65 LIMIT @start_cursor 2")

for person in query_people:
      self.response.out.write('<p><b>Name:</b> %s ' % person.name)

我得到错误:“BadQueryError:Parse Error:符号@start_cursor的LIMIT子句中的非数字限制”。我做错了什么?光标定义不明确?我跟着Google Cloud Datastore grammar

提前致谢!

1 个答案:

答案 0 :(得分:2)

您正在使用尚未更新的python db版本的GQL(参考资料here),以支持Google Cloud Datastore GQL中找到的新功能(参考资料here

在python的db模块中,可以使用with_cursor函数设置开始游标:

query_people.with_cursor(start_cursor)