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查询来查看您拥有的其他选项以及您可以实现的目标.
| 归档时间: |
|
| 查看次数: |
4464 次 |
| 最近记录: |