gpt4 book ai didi

google-app-engine - 在 KEY 列表中使用 __key__ 的 GQL 查询

转载 作者:太空宇宙 更新时间:2023-11-03 15:25:22 25 4
gpt4 key购买 nike

GQL reference , 鼓励使用带有值列表的 IN 关键字,并从 GQL 查询中手动构造一个 Key

SELECT * FROM MyModel WHERE __key__ = KEY('MyModel', 'my_model_key')

会成功。但是,使用您希望工作的代码:

SELECT * FROM MyModel WHERE __key__ IN (KEY('MyModel', 'my_model_key1'),
KEY('MyModel', 'my_model_key2'))

在 Datastore Viewer 中,有“无效的 GQL 查询字符串”的投诉。

格式化此类查询的正确方法是什么?

更新:当前的 SDK 无法做到这一点。正如我在评论中指出的那样,在使用列表时,只有引用(例如 :1:email)或 int、float、string、boolean 或 null 文字是可接受的列表条目。

第二次更新:我修复了这个错误,现在可以执行此类查询了。可以在 Google 代码托管中找到修复程序 diff .

PS 我知道在 Python 中有更有效的方法(无需构建 GQL 查询)并使用 remote_api,但每次调用 remote_api 都会计入配额。在配额不是(必然)免费的环境中,快速和肮脏的查询非常有用。

最佳答案

我不明白。您的目标是在 Datastore Viewer 中查看特定的实体列表以避免消耗配额?我不知道使用 GQL 执行此操作的方法,但如果您知道实体的 key ,则可以直接访问实体,例如:

https://appengine.google.com/datastore/edit?app_id=myapp&key=key1

https://appengine.google.com/datastore/edit?app_id=myapp&key=key2

如果您在代码中执行此操作,请不要尝试使用 GQL。使用 db.get(keys) 或类似的东西。

关于google-app-engine - 在 KEY 列表中使用 __key__ 的 GQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com