对不起我的无知,但我的期望是这会起作用:
from google.appengine.ext import ndb
from models import myModels
delete_futures = []
delete_futures.append(ndb.delete_multi_async(myModels.Kind1.query().fetch(999999, keys_only=True)))
delete_futures.append(ndb.delete_multi_async(myModels.Kind2.query().fetch(999999, keys_only=True)))
ndb.Future.wait_all(delete_futures)
但它抛出“TypeError:列表对象不可用”。
答案 0 :(得分:3)
或许使用.extend创建一个列表而不是列表列表?
等到通过列表中的所有期货完成。
不要期待您传递的列表列表。
delete_futures = []
delete_futures.extend(ndb.delete_multi_async(myModels.Kind1.query().fetch(999999, keys_only=True)))
delete_futures.extend(ndb.delete_multi_async(myModels.Kind2.query().fetch(999999, keys_only=True)))
https://developers.google.com/appengine/docs/python/ndb/futureclass#Future_wait_all
答案 1 :(得分:0)
对delete_multi_async
的每次调用都会返回一个期货列表,因此您的delete_futures
列表是一个列表列表。将您的append
更改为extend
,它应该可以正常工作