我正在尝试使用Pyramid框架实现电子邮件确认。以下是在数据库中确认用户并将其重定向到主页的代码。
user = DbSession.query(User).filter_by(email=email).one()
if user.approved:
return {'msg': _('Already approved')}
if user.check_approve_token(hash):
user.approved = True
self.request.session.save()
self.request.session['user'] = user
return HTTPFound(self.request.route_url('home'),
headers=remember(self.request, user.guid))
当我试图从另一个处理程序获取
self.request.session['user']
变量时,我得到一个DetachedInstanceError: Instance <User at 0x42902f0> is not bound to a Session; attribute refresh operation cannot proceed
。据我所知,这个错误是由于修改了User
实例引起的。我该怎么解决呢?提前感谢,伊万。