Pregunta

Esta es la razón por la que necesito para poner user_id () 's en el almacén de datos:

  

Un valor del usuario en el almacén de datos no lo hace   actualizarse si el usuario cambia su   dirección de correo electrónico. Esto puede remediarse en   una versión futura. Hasta entonces, se puede   utilizar user_id del valor de usuario () como el   estable identificador único del usuario.

     

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

     

Dentro del almacén de datos, el valor es   igual a la dirección de correo electrónico además de la   ID único del usuario. Si el usuario cambia   su dirección de correo electrónico, el nuevo valor del Usuario   no será igual al valor de usuario original   en el almacén de datos de consultas o cuando se compara   por la aplicación. Si su aplicación necesita un establo   identificador que no cambia, se   puede almacenar el ID único separado   a partir del valor del usuario.

     

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

¿Cómo lo hago?

Y ¿cómo lo sabes (o dónde lo buscas?)

¿Fue útil?

Solución

La respuesta habitual es "ninguna propiedad": Si necesita un identificador estable, es probable que sea porque está buscando usuarios por ella, en cuyo caso se debe utilizar como el nombre de la clave de la entidad, así:

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

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

Si realmente necesita para almacenar un identificador para el usuario en otro lugar, se puede utilizar un db.StringProperty para almacenar el ID de usuario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top