如何通过键从GAE数据存储中删除多个实体

lea*_*ner 4 google-app-engine google-cloud-datastore

我在localhost上使用Google App Engine.我Book在数据存储区中有2000个实体.我想删除第一个1900(键的范围从1到1901).我如何从交互式控制台执行此操作?我正在使用ndb而不是db

也许有某种范围功能.

例如,我尝试以下操作,但没有任何反应.

from myddb import Book

list= Book.gql("WHERE ID < 193")

for entity in list:
  db.delete(entity) 
Run Code Online (Sandbox Code Playgroud)

编辑:

根据@Lipis的回复,以下是有效的

from myddb import Book

from google.appengine.ext import ndb

book_keys = Book.query().fetch(keys_only=True)
ndb.delete_multi(book_keys)
Run Code Online (Sandbox Code Playgroud)

但这会删除一切.我需要工作是通过查询Key又名ID象

book_keys = Book.query(Article._Key < 1901).fetch(keys_only=True)
Run Code Online (Sandbox Code Playgroud)

Lip*_*pis 10

你应该使用ndb.delete_multi():

from google.appengine.ext import ndb

book_keys = Book.query().fetch(keys_only=True)
ndb.delete_multi(book_keys)
Run Code Online (Sandbox Code Playgroud)

您应该通过NDB查询来查看您拥有的其他选项以及您可以实现的目标.