有没有办法将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())

最佳答案

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

关于python - gqlQuery返回对象,想要键列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1730694/

10-11 02:41