2011-11-07 1 views
0

J'ai modèle comme ceci:Comment obtenir l'utilisateur actuel dans des modèles de Pylônes?

class CreatedMixin(DeclarativeBase): 
    __abstract__ = True 

    @declared_attr 
    def updated_by(cls): 
     return Column(Integer, ForeignKey('user.user_id', 
         onupdate="cascade", ondelete="restrict"), 
         onupdate=CURRENT_USER_ID) 

    updated_at = Column(DateTime, nullable=False, default=dt.now(), 
         onupdate=dt.now()) 

Et auth avec repoze.what-QuickStart. Comment obtenir CURRENT_USER_ID?

Répondre

2

Je pense que vous pouvez faire ce qui suit

identity = request.environ.get('repoze.who.identity') 

et gettin l'ID utilisateur

id = identity['user'].id 
+0

Quand j'importer dans le module "de pylones demande d'importation" et utiliser « identité = request.environ. get ('repoze.who.identity') ". J'ai l'erreur suivante "TypeError: Aucun objet (nom: demande) n'a été enregistré pour ce fil" – uralbash

+0

C'est bizarre, ça marche pour moi. Importez-vous le module de requête sur votre modèle __init__.py? – webjunkie

+0

J'importe la demande dans mes modèles __init__.py. Et écrivez "identity = request.environ.get ('repoze.who.identity')". Mais quel que soit l'eror: TypeError: Aucun objet (nom: request) n'a été enregistré pour ce thread – uralbash

Questions connexes