Механизм приложений Google: запрос, который возвращает идентификатор объекта, используя python - PullRequest
5 голосов
/ 07 мая 2010

как мне вернуть идентификатор сущности, используя python в GAE?

Предполагая, что у меня есть следующее

class Names(db.Model):
   name = db.StringProperty()

Ответы [ 2 ]

13 голосов
/ 07 мая 2010

Вы извлекаете объект, например, с помощью запроса , затем вызываете .key().id() для этого объекта (будет None, если у объекта нет числового идентификатора; см. здесь другую информацию вы можете получить из Key объекта).

5 голосов
/ 07 мая 2010

На вопрос уже давно дан ответ.
(Надеюсь, я добавлю несколько полных примеров, не наступая ни на какие пальцы ...)

Получение объекта с использованием запроса; просто получение ключей быстрее и использует меньше ресурсов ЦП, чем получение полной сущности :

query = Names.all(keys_only=True)
names = query.get() # this is a shorter equivalent to `query.fetch(limit=1)`
names.id()

Из шаблона:

{{ names.id }}

Альтернатива GQL, как предлагается в комментарии:

from google.appengine.ext import db

query = db.GqlQuery("SELECT __key__ FROM Names")
names = query.get()
names.id()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...