Sqlalchemy 如何在塔架模型中获取当前用户?

Sqlalchemy 如何在塔架模型中获取当前用户?,sqlalchemy,pylons,Sqlalchemy,Pylons,我有这样的模型: class CreatedMixin(声明性数据库): __抽象=真 @声明属性 def更新人(cls): 返回列(整数,ForeignKey('user.user\u id', onupdate=“cascade”,ondelete=“restrict”), onupdate=当前用户ID) 更新的_at=Column(DateTime,nullable=False,default=dt.now(), onupdate=dt.now()) 并使用repose.what-qu

我有这样的模型:

class CreatedMixin(声明性数据库):
__抽象=真
@声明属性
def更新人(cls):
返回列(整数,ForeignKey('user.user\u id',
onupdate=“cascade”,ondelete=“restrict”),
onupdate=当前用户ID)
更新的_at=Column(DateTime,nullable=False,default=dt.now(),
onupdate=dt.now())

并使用repose.what-quickstart进行身份验证。如何获取当前用户ID?

我认为您可以执行以下操作

identity = request.environ.get('repoze.who.identity')
和用户id中的getting

 id = identity['user'].id

当我在模块“from pylons import request”中导入并使用“identity=request.environ.get('repoze.who.identity')”时。我有以下错误“TypeError:没有为这个线程注册对象(名称:request)”,这很奇怪,它对我来说确实有效。是否在模型init.py上导入请求模块?我在模型init.py中导入请求。然后写“identity=request.environ.get('repose.who.identity')”。但是不管得到了什么,eror:TypeError:No对象(name:request)都没有为这个线程注册mmhh..在这种情况下,也许你应该尝试将你的模型函数定义公开给你的一个控制器函数,并将用户ID作为Argumentnx传递,它可以工作。在此之前,我尝试使用mixin。我知道它不适用于mixin。