Как я запрашиваю в GQL использование ключа объекта

Как я пишу запрос против ключа объекта, использующего GQL в Google App Engine Data Viewer?

В средстве просмотра первый столбец (идентификатор/имя) отображается как name=_1, в представлении детали это показывает ключ как

Decoded entity key: Programme: name=_1
Entity key: agtzcG9................... 

Этот запрос не работает:

SELECT * FROM Programme where name = '_1'
72
задан Dan McGrath 2 September 2016 в 22:55
поделиться

2 ответа

[

] Вы можете использовать ключ сущности для его извлечения: [

] [
SELECT * FROM Programme where __key__ = KEY('agtzcG9...................')
] [

] И вы должны быть в состоянии сделать запрос, используя имя аналогичным образом: [

]. [
SELECT * FROM Programme where __key__ = KEY(Programme, '_1')
] [

] Обратите внимание, что это не то, что вы хотели бы сделать в вашем приложении AppEngine; как отмечает Ник в своем комментарии, это огромная трата времени. На самом деле, этот пример хорош только для того, чтобы показать вам, как запрашивать по клавишам в консоли Admin.[

].
105
ответ дан 24 November 2019 в 12:38
поделиться

Для получения сущности по ключу вовсе не обязательно делать запрос - вы можете просто получить сущность по ее ключу. На Python это можно сделать с помощью MyModel.get_by_key_name('_1'). Это в 3-5 раз быстрее, чем предложение Адама использовать запрос.

18
ответ дан 24 November 2019 в 12:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: