Генерация уникальной последовательности номеров для использования в качестве ключа объекта для хранилища данных ядра приложения - PullRequest
5 голосов
/ 13 мая 2010

Кто-нибудь получил пример кода для создания уникальной числовой последовательности, которая будет использоваться в качестве ключей для сущности в хранилище данных механизма приложений Google?

Хотел бы использовать порядковые номера в качестве ключа.

Ответы [ 2 ]

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

Используйте db.allocate_ids() как описано здесь для генерации уникальных идентификаторов для ваших сущностей.

Вот краткий пример, полученный из примера по ссылке выше:

from google.appengine.ext import db

# get unique ID number - I just get 1 here, but you could get many ...
new_ids = db.allocate_ids(handmade_key, 1)

# db.allocate_ids() may return longs but db.Key.from_path requires an int (issue 2970)
new_id_num = int(new_id[0])

# assign the new ID to an entity
new_key = db.Key.from_path('MyModel', new_id_num)
new_instance = MyModel(key=new_key)
...
new_instance.put()

( выпуск 2970, ссылка )

2 голосов
/ 22 января 2011

Возможно, вы захотите взглянуть на Как реализовать автоинкремент в Google AppEngine , где вы найдете реализацию порядковых номеров.

...