1

私は Web2py を使用する Web アプリに取り組んでいます。私の auth_user テーブルにはユーザー名フィールドがあります。私が直面している問題は、ユーザーのユーザー名を更新すると、ユーザーがログアウトして再度ログインするまで、auth.user.username が古い値を返し続けることです。

さらに、特定のユーザー ID に対して新しい db クエリを作成しても、古いユーザー名が返されることに気付くことがあります。なぜこれが起こるのですか?

4

1 に答える 1

3

auth.userセッションに保存されます(他の認証関連データとともに)。これにより、リクエストごとにユーザー データの db クエリを実行する必要がなくなります。したがって、データベース内のレコードを更新してもauth.user、セッション内のオブジェクトは更新されません。auth.profile()ユーザーが組み込み機能を使用して自分のプロファイルを更新すると、auth.user自動的に更新されます。それ以外の場合は、自分で更新する必要があります。

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