1

我正在开发一个使用 Web2py 的网络应用程序。我的 auth_user 表有一个用户名字段。我面临的问题是当我更新用户的用户名时,auth.user.username 会一直返回旧值,直到用户注销并再次登录。

此外,有时我注意到即使对给定的用户 ID 进行新的数据库查询,它也会返回过时的用户名。为什么会这样?

4

1 回答 1

3

auth.user存储在会话中(以及其他一些与身份验证相关的数据)。这避免了必须对每个请求的用户数据进行数据库查询。因此,更新数据库中的记录不会更新auth.user会话中的对象。auth.profile()如果用户使用内置功能更新自己的个人资料,auth.user则将自动更新。否则,您将不得不自己更新它:

auth.user.update(username='my new name')
于 2012-10-25T02:40:53.457 回答