0

ユーザーに関連付けられたカスタム フィールドがあり、auth.settings.extra_fields を使用して各ユーザーのスコアを auth_user テーブルに格納し、readable=False と writable=False の両方を設定しています。しかし、このフィールドをプログラムで更新したいと考えています。

私は次のことを試しました:

auth.user.score.update(float(バランス)-float(コスト))

バランスとコストはどちらも明確に定義された変数であり、それらを個別に返すことを確認しましたが、うまくいきました。DAL を使用して auth_user テーブルにアクセスできないことがわかったため、これを試す必要がありました。

4

1 に答える 1

3

実際、DAL を使用して auth_user テーブルにアクセスすることは可能です。やってみました:

db(db.auth_user.id == auth.user_id).update(score=float(balance) - float(cost))

auth.userセッションに保存されているユーザー レコードのコピーを参照するため、変更してもデータベース レコードには影響しないことに注意してください。

于 2013-01-31T03:05:55.487 に答える