2010-07-12 34 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

相關問題