私は Web2py を使用する Web アプリに取り組んでいます。私の auth_user テーブルにはユーザー名フィールドがあります。私が直面している問題は、ユーザーのユーザー名を更新すると、ユーザーがログアウトして再度ログインするまで、auth.user.username が古い値を返し続けることです。
さらに、特定のユーザー ID に対して新しい db クエリを作成しても、古いユーザー名が返されることに気付くことがあります。なぜこれが起こるのですか?
私は Web2py を使用する Web アプリに取り組んでいます。私の auth_user テーブルにはユーザー名フィールドがあります。私が直面している問題は、ユーザーのユーザー名を更新すると、ユーザーがログアウトして再度ログインするまで、auth.user.username が古い値を返し続けることです。
さらに、特定のユーザー ID に対して新しい db クエリを作成しても、古いユーザー名が返されることに気付くことがあります。なぜこれが起こるのですか?
auth.user
セッションに保存されます(他の認証関連データとともに)。これにより、リクエストごとにユーザー データの db クエリを実行する必要がなくなります。したがって、データベース内のレコードを更新してもauth.user
、セッション内のオブジェクトは更新されません。auth.profile()
ユーザーが組み込み機能を使用して自分のプロファイルを更新すると、auth.user
自動的に更新されます。それ以外の場合は、自分で更新する必要があります。
auth.user.update(username='my new name')