GQL获取ID字段

2024-10-01 11:37:25 发布

您现在位置:Python中文网/ 问答频道 /正文

在googleappengine上,可以通过执行以下查询来检索哈希键值

select __key__ from furniture

但是appengine数据存储为每种类型维护了一个很好的自增字段ID。在

如何从查询中访问它?在

^{pr2}$

不起作用


Tags: 数据keyfromid类型select键值appengine
3条回答

你也可以试试

entity.key().id()

我不确定当你问这个问题的时候它是否在那里,但是现在通过id检索实体非常容易

YourModel.get_by_id (int(ids))

您可以在这里的文档中阅读有关它的更多信息:https://developers.google.com/appengine/docs/python/datastore/modelclass#Model_get_by_id

我认为Gcl查询不能包含对访问器方法或属性提取的调用(这与它只能执行"SELECT * FROM"来获取整个实体或"SELECT __key__ FROM"只获取键的事实是一样的,它不能像[假设性的!-)]"SELECT this, that FROM)。在

因此,您需要获取这些密钥,然后调用每个密钥的.id()访问器(如果您希望None来获取没有ID而是名称的密钥;如果您希望获得名称,请使用.id_or_name(),如果可以的话,None只能作为最后手段)。E、 g.仅获取非None ID:

thekeys = db.GqlQuery('SELECT __key__ FROM Whatever').fetch(1000)
theids = [k.id() for k in thekeys if k.id() is not None]

相关问题 更多 >