Как я пишу запрос против ключа объекта, использующего GQL в Google App Engine Data Viewer?
В средстве просмотра первый столбец (идентификатор/имя) отображается как name=_1
, в представлении детали это показывает ключ как
Decoded entity key: Programme: name=_1
Entity key: agtzcG9...................
Этот запрос не работает:
SELECT * FROM Programme where name = '_1'
] Вы можете использовать ключ сущности для его извлечения: [
] [SELECT * FROM Programme where __key__ = KEY('agtzcG9...................')
]
[] И вы должны быть в состоянии сделать запрос, используя имя аналогичным образом: [
]. [SELECT * FROM Programme where __key__ = KEY(Programme, '_1')
]
[] Обратите внимание, что это не то, что вы хотели бы сделать в вашем приложении AppEngine; как отмечает Ник в своем комментарии, это огромная трата времени. На самом деле, этот пример хорош только для того, чтобы показать вам, как запрашивать по клавишам в консоли Admin.[
]. Для получения сущности по ключу вовсе не обязательно делать запрос - вы можете просто получить сущность по ее ключу. На Python это можно сделать с помощью MyModel.get_by_key_name('_1')
. Это в 3-5 раз быстрее, чем предложение Адама использовать запрос.