1

有没有办法将 GqlQuery 对象转换为键数组,或者有没有办法强制查询返回键数组? 例如:

items = db.GqlQuery("SELECT __key__ FROM Items")

返回一个包含键的对象:

<google.appengine.ext.db.GqlQuery object at 0x0415E210>

我需要将它与如下所示的键数组进行比较:

[datastore_types.Key.from_path(u'Item', 100L, _app_id_namespace=u'items'),
 ..., datastore_types.Key.from_path(u'Item', 105L, _app_id_namespace=u'fitems')]

注意:我可以通过查询存储的对象,然后调用 .key() 来解决这个问题,但这似乎很浪费。

items = db.GqlQuery("SELECT * FROM Items")
keyArray = []
for item in items:
  keyArray.append(item.key())
4

1 回答 1

3

当然 - 您可以通过在 GqlQuery 对象上调用 .fetch(count) 来获取结果。事实上,这是推荐的方式 - 批量迭代获取结果,因此效率较低。

于 2009-11-13T18:23:46.313 回答