Thi*_*ilo 72 google-app-engine gql google-cloud-datastore
如何在Google App Engine数据查看器中使用GQL针对实体密钥编写查询?
在查看器中,第一列(Id/Name)显示为name=_1
,在详细视图中,它将键显示为
Decoded entity key: Programme: name=_1
Entity key: agtzcG9...................
Run Code Online (Sandbox Code Playgroud)
此查询不起作用:
SELECT * FROM Programme where name = '_1'
Run Code Online (Sandbox Code Playgroud)
Ada*_*and 105
您可以使用实体的密钥来检索它:
SELECT * FROM Programme where __key__ = KEY('agtzcG9...................')
Run Code Online (Sandbox Code Playgroud)
而且,您应该能够使用类似的名称进行查询:
SELECT * FROM Programme where __key__ = KEY(Programme, '_1')
Run Code Online (Sandbox Code Playgroud)
请注意,这不是您希望在AppEngine应用程序中执行的操作; 尼克在评论中指出,这是浪费大量时间.实际上,此示例仅向您展示如何在管理控制台中按键进行查询.
小智 20
对于数字ID,类似于逐个查询的表单起作用:
SELECT * from Programme where __key__ = KEY('Programme', 1234567)
Run Code Online (Sandbox Code Playgroud)
我发现此表单在管理控制台中特别有用.
Nic*_*son 18
您根本不需要查询按键获取实体 - 您只需通过其键获取实体即可.在Python中,您可以使用MyModel.get_by_key_name('_1')
.这比Adam建议使用查询快3到5倍.
归档时间: |
|
查看次数: |
33525 次 |
最近记录: |