Google App Engine - автоматическое увеличение - PullRequest
6 голосов
/ 27 марта 2010

Я новичок в Google App Engine, У меня это провоцирует Класс пользователя -
user_id - целое число
имя_пользователя - строка
пароль - строка

Я хочу сделать автоинкремент для user_id. Как я могу это сделать?

Ответы [ 2 ]

19 голосов
/ 27 марта 2010

Вам не нужно объявлять user_id, GAE будет создавать уникальный идентификатор ключа каждый раз, когда вы вставляете новую строку.

class User(db.Model):
user_name = db.StringProperty()
password = db.StringProperty()

и для сохранения нового пользователя вам нужно будет:

user = User()
user.user_name = "Username"
user.password = "Password"
user.put()

чтобы получить его:

user = User.get_by_id(<id of the user>)

для получения всех идентификаторов:

query = datamodel.User().all()
for result in query:
    print result.key().id()

См. Класс модели для дальнейшего использования.

3 голосов
/ 27 марта 2010

Каждый объект в AppEngine уже имеет уникальный ключ и идентификатор (см. Документацию ):

user().key().id()

Тебе лучше использовать это.

Чтобы сделать обратное, используйте User.get_by_id(id).

...