Какой тип свойства мне использовать для помещения user_id() пользователя в хранилище данных?

StackOverflow https://stackoverflow.com/questions/1593367

Вопрос

Вот почему мне нужно поместить user_id() в хранилище данных:

Пользовательский ценность в данных данных не обновляется, если пользователь изменяет свой адрес электронной почты.Это может быть исправлено в будущем выпуске.До тех пор вы можете использовать пользовательский значение user_id () в качестве стабильного уникального идентификатора пользователя.

http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html#users_User

В рамках данных о данных значение равна адресу электронной почты плюс уникальный идентификатор пользователя.Если пользователь изменит свой адрес электронной почты, новое значение пользователя не будет равным исходному значению пользователя в запросах данных или по сравнению с приложением.Если ваше приложение нуждается в стабильном идентификаторе, который не меняется, вы можете сохранить уникальный идентификатор отдельно от пользовательского значения.

http://code.google.com/appengine/docs/python/users/userobjects.html

Как мне это сделать?

И как вы узнали (или где вы это посмотрели?)

Это было полезно?

Решение

Обычный ответ — «нет собственности»:Если вам нужен стабильный идентификатор, возможно, вы ищете по нему пользователей, и в этом случае вам следует использовать его в качестве имени ключа для объекта, например:

class UserInfo(db.Model):
  is_admin = db.BooleanProperty(required=True, default=False)

user_info = UserInfo.get_or_insert(users.get_current_user().user_id())

Если вам действительно нужно сохранить идентификатор пользователя где-то еще, вы можете использовать db.StringProperty для хранения идентификатора пользователя.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top