2010-05-07 67 views

回答

13

您检索实体,例如(query),那么你可以在该实体上调用.key().id()(如果该实体没有数字ID,将为None;有关可从Key对象检索到的其他信息,请参阅here)。

+1

还可以选择____key____ FROM ...使用GQL,这是一种快速获取密钥而无需开销的方法加载完整的实体。 – 2010-05-07 05:10:17

+0

你能不能介意写完整的代码,因为我对数据存储真的很陌生 – Peter 2010-05-07 05:18:53

+0

谢谢,我现在明白了 – Peter 2010-05-07 05:21:59

5

这个问题早已得到解答。
(我希望在不踩脚趾的情况下添加一些完整示例...)

使用查询获取实体;刚刚起步的关键是faster and uses less CPU than retrieving the full entity

query = Names.all(keys_only=True) 
names = query.get() # this is a shorter equivalent to `query.fetch(limit=1)` 
names.id() 

从模板:

{{ names.id }} 

GQL替代,如在评论所说:

from google.appengine.ext import db 

query = db.GqlQuery("SELECT __key__ FROM Names") 
names = query.get() 
names.id()