gqlQuery 返回对象,想要键列表

发布于 2024-08-10 18:04:14 字数 636 浏览 6 评论 0原文

有没有办法将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半夏半凉 2024-08-17 18:04:14

当然 - 您可以通过在 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文