0

C'est la raison pour laquelle je dois mettre user_id() de la Banque de données:Quel type de propriété dois-je utiliser pour mettre un user_id() d'utilisateur dans le magasin de données?

Une valeur de l'utilisateur dans le magasin de données ne sont mis à jour si l'utilisateur change son adresse e-mail . Cela peut être corrigé dans une future version. Jusque-là, vous pouvez utiliser l'ID utilisateur user_id ( ) comme identifiant unique stable de l'utilisateur .

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

Dans le datastore, la valeur est égale à l'adresse e-mail ainsi que l'identifiant unique de l'utilisateur . Si l'utilisateur modifie son adresse e-mail, la nouvelle valeur utilisateur ne correspondra pas à la valeur d'origine dans les requêtes de banque de données ou par rapport à par l'application. Si votre application a besoin d'un identifiant stable qui ne change pas, vous pouvez stocker l'ID unique séparément à partir de la valeur User.

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

Comment puis-je le faire?

Et comment saviez-vous (ou où avez-vous regardé vers le haut?)

Répondre

0

La réponse habituelle est « pas de propriété »: Si vous avez besoin d'un identifiant stable, il est probablement parce que vous êtes à la recherche des utilisateurs par elle , auquel cas vous devriez l'utiliser comme nom de clé pour l'entité, comme suit:

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 vous avez vraiment besoin de stocker un identifiant pour l'utilisateur ailleurs, vous pouvez utiliser un db.StringProperty pour stocker l'utilisateur ID.

Questions connexes