gqlQuery 返回对象,想要键列表
有没有办法将 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())
Is there a way to convert the GqlQuery object to an array of keys, or is there a way to force the query to return an array of keys? For example:
items = db.GqlQuery("SELECT __key__ FROM Items")
returns an object containing the keys:
<google.appengine.ext.db.GqlQuery object at 0x0415E210>
I need to compare it to an array of keys that look like:
[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')]
Note: I can get around the problem by querying for the stored objects, and then calling .key(), but this seems wasteful.
items = db.GqlQuery("SELECT * FROM Items")
keyArray = []
for item in items:
keyArray.append(item.key())
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当然 - 您可以通过在 GqlQuery 对象上调用 .fetch(count) 来获取结果。事实上,这是推荐的方式 - 批量迭代获取结果,因此效率较低。
Certainly - you can fetch the results by calling .fetch(count) on the GqlQuery object. This is the recommended way, in fact - iterating fetches results in batches, and so is less efficient.