Python 从AppEngine数据存储中删除前获取部分祖先
我想从事务中的AppEngine数据存储中删除一组对象:Python 从AppEngine数据存储中删除前获取部分祖先,python,google-app-engine,model,datastore,Python,Google App Engine,Model,Datastore,我想从事务中的AppEngine数据存储中删除一组对象: def F(): items_to_delete = [] for item in db.Query().ancestor(...): if item.aaa ... item.bbb: items_to_delete.append(item) db.delete(items_to_delete) db.run_in_transaction(F) 是否可以只提取项目的几个字段(aaa和bbb)?这样的获取
def F():
items_to_delete = []
for item in db.Query().ancestor(...):
if item.aaa ... item.bbb:
items_to_delete.append(item)
db.delete(items_to_delete)
db.run_in_transaction(F)
是否可以只提取项目的几个字段(
aaa
和bbb
)?这样的获取会对性能产生积极影响吗?不可能只获取几个字段;i、 e.您将始终获取整个实体及其所有字段(或仅获取实体键)。从:
GQL语法可以总结如下:
选择[*| uuu键uuu]
[来自]]
[其中[和……]]
[由[ASC|DESC][,[ASC|DESC]…]订购]
[限制[,]
[抵销]
及
GQL查询返回零个或多个请求类型的实体或键。每一个GQL查询总是以SELECT*
或SELECT\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
开始。(GQL查询无法执行类似SQL的“连接”查询。)提示:SELECT\uuuuuu key\uuuu
查询比SELECT*
查询速度更快,CPU成本更低
退房,Guido自己写的(俯身说“我不配”x3:)。他在查询和获取几个带偏移量的字段时使用AND或(这回答了您的问题)。但是仍然是实验性的,所以请小心使用,直到它超出预览范围。那么,如何在
db.Query()祖先(…)
Query中仅获取\uuuuuuu键(
)呢?@pts Trydb.Query(keys\uonly=True)。祖先(…)
:
The GQL syntax can be summarized as follows:
SELECT [* | __key__]
[FROM <kind>]]
[WHERE <condition> [AND <condition> ...]]
[ORDER BY <property> [ASC | DESC] [, <property> [ASC | DESC] ...]]
[LIMIT [<offset>,]<count>]
[OFFSET <offset>]