Я пытаюсь реализовать подтверждение по электронной почте, используя платформу 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
экземпляра.Как это исправить?
Заранее спасибо, Иван.