我有一个与用户关联的自定义字段,该字段使用auth.settings.extra_fields将每个用户的得分存储在auth_user表中,其中reads = False和writable = False。但我想以编程方式更新此字段。
我尝试了以下内容:
auth.user.score.update(浮动(余量)-float(成本))
余额和成本都是明确定义的变量,我检查了它们单独返回,这是有效的。我不得不尝试这个,因为我发现无法使用DAL访问auth_user表。
答案 0 :(得分:3)
确实可以使用DAL访问auth_user表。你试过了吗?
db(db.auth_user.id == auth.user_id).update(score=float(balance) - float(cost))
注意,auth.user
是指存储在会话中的用户记录的副本,因此更改它不会影响数据库记录。