2010-03-24 8 views
2

Quelle est la meilleure façon de sauvegarder un profil utilisateur avec Google App Engine (Python)? Ce que je l'ai fait pour résoudre ce problème est de créer un autre modèle, avec un UserProperty, mais demandant le profil de l'utilisateur que je dois faire quelque chose comme ceci:Ajouter des propriétés aux utilisateurs google app engine

if user: 
    profile = Profile.all().filter('user =', user).fetch(1) 
    if profile: 
     property = s.get().property 

Toutes les idées?

Répondre

4

Si vous définissez l'id_utilisateur de l'utilisateur comme nom_clé de l'entité Profile de l'utilisateur, vous pouvez l'extraire à l'aide de Profile.get_by_key_name(), ce qui sera plus rapide que l'interrogation et la récupération. Memcaching, y compris l'id_utilisateur dans le cadre de la clé permettra un accès encore plus rapide au profil.

1

Non, c'est une approche assez correcte (bien que vous souhaitiez peut-être aussi stocker certains de ces profils dans memcache, bien sûr ;-). Ça va être rapide, puisqu'il y aura un index sur le champ user. Vous ne pouvez certainement pas modifier le modèle d'utilisateur fourni par Google, si c'est ce que vous demandez.

1

Ceci n'est pas une solution mais un avertissement.

La valeur utilisateur n'est pas un identifiant unique et stable pour un utilisateur. Et la propriété user_id n'existe que pour les utilisateurs google et non pour OpenId. Donc, ne faites pas confiance à cette solution.

Questions connexes