GAE:在获取光标之前是否需要在查询上调用fetch?

时间:2010-07-12 06:01:15

标签: python google-app-engine google-cloud-datastore

执行以下代码时:

    q = MyKind.all()
    taskqueue.add(url="/admin/build", params={'cursor': q.cursor()})

我明白了:

AssertionError: No cursor available.

为什么会这样?我需要先fetch某事吗? (我不愿意;代码更简洁,只是为了获取查询并传递它。)

我在Google App Engine 1.3.5上使用Python。

1 个答案:

答案 0 :(得分:3)

是的,光标只有在你拿到东西时才可用;查询中的第一个结果没有光标。

作为一种解决方法,您可以在try / except中包含对cursor()的调用,如果没有可用的游标,则将None传递给下一个任务。