1

私の無知をお詫びしますが、私の期待はこれがうまくいくことです:

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:リストオブジェクトはハッシュできません」をスローします。

4

2 に答える 2

4

おそらく、.extend を使用して、リストのリストではなく単一のリストを作成しますか?

渡されたリスト内のすべての Future が完了するまで待ちます。

渡されたリストのリストを期待していない可能性があります。

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

于 2012-10-04T18:25:39.293 に答える
1

を呼び出すたびdelete_multi_asyncに先物のリストが返されるため、delete_futuresリストはリストのリストになります。をに変更するappendextend、動作するはずです

于 2012-10-04T18:26:21.167 に答える