2010-07-12 32 views
1

当执行以下代码:GAE:在获取游标之前是否需要在查询上调用fetch?

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

我得到:

AssertionError: No cursor available. 

为什么会出现这种情况?我需要fetch的东西吗? (我宁愿不要;代码只是为了获得查询并传递它更清洁。)

我在Google App Engine 1.3.5上使用Python。

回答

3

是的,游标只有在您提取了某些东西时才可用;查询中的第一个结果没有光标。

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

+0

.with_cursor(None)是无操作的,所以你的确可以简单地将None传递给第一个任务。 – 2010-07-19 14:25:05

相关问题