Как получить последний вставленный ключ элемента в Google App Engine - PullRequest
1 голос
/ 29 апреля 2009

Я работаю с Google App Engine и Python.
У меня есть модель с деталями.
Сразу после того, как я вставлю элемент с item.put ()
Я хочу получить его ключ и перенаправить на страницу, используя этот ключ.

Что-то вроде:

redirectUrl = "/view/key/%s/" % item.key
self.redirect(redirectUrl)

Ответы [ 3 ]

4 голосов
/ 30 апреля 2009

Кроме того, item.put () возвращает ключ в качестве результата, поэтому вряд ли когда-либо понадобится сразу же извлечь этот ключ - просто измените свою последовательность, например,

  item.put()
  redirectUrl = "/view/key/%s/" % item.key()

в

  k = item.put()
  redirectUrl = "/view/key/%s/" % k
1 голос
/ 29 апреля 2009

Спасибо за инициативу Скотта Кирквуда. Я действительно скучал по ()

redirectUrl = "/view/key/%s/" % item.key()
self.redirect(redirectUrl)

Приятно знать, что в хранилище данных Google вам не нужно использовать что-либо вроде Scope_identity, но вы можете просто получить item.key () сразу после item.put () ..

1 голос
/ 29 апреля 2009

После того как вы сделали put() вы можете запустить

item.key().id()

Получение id() немного безопаснее, чем просто использование key() напрямую, поскольку вы будете косвенно вызывать __str__(), что может не произойти в неконтрольном контексте.

Другой вариант - позвонить id_or_name(), но тогда вы, вероятно, уже знаете, как называется в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...