如何在Google App Engine Data Viewer中使用GQL编写针对实体键的查询?
在查看器中,第一列(Id/Name)显示为name=_1
,在详细信息视图中显示为
Decoded entity key: Programme: name=_1
Entity key: agtzcG9...................
此查询不起作用:
SELECT * FROM Programme where name = '_1'
发布于 2010-01-04 22:13:32
您可以使用实体的键来检索它:
SELECT * FROM Programme where __key__ = KEY('agtzcG9...................')
而且,您应该能够使用类似的名称进行查询:
SELECT * FROM Programme where __key__ = KEY(Programme, '_1')
请注意,这不是您希望在AppEngine应用程序中做的事情;正如Nick在他的评论中指出的那样,这是巨大的时间浪费。实际上,这个示例只是为了向您展示如何在管理控制台中按键查询。
发布于 2011-06-02 12:38:08
对于数字ID,类似于按名称查询的表单:
SELECT * from Programme where __key__ = KEY('Programme', 1234567)
我发现这个表单在管理控制台中特别有用。
发布于 2010-01-07 05:38:27
您根本不需要查询来通过键获取实体-您可以简单地通过它的键来获取实体。在Python语言中,您可以使用MyModel.get_by_key_name('_1')
完成此操作。这比Adam建议的使用查询快3到5倍。
https://stackoverflow.com/questions/1998084
复制相似问题