Ali*_*ian 1 django django-models
我对 Django 很陌生,所以这个问题可能非常基本。
我有一个名为 的模型UserScores,其中包含 16 个不同的分数属性,每个属性代表基于他/她玩过的游戏的用户分数。
当用户玩游戏并完成游戏时,他在该游戏中获得的分数应添加到他/她的 UserScores 对象中的相关属性中。所以代码如下所示:
if game_name == "game_1":
self.game1_score += score
elif game_name == "game_2":
self.game2_score += score
...
Run Code Online (Sandbox Code Playgroud)
在 php 中我曾经运行这样的代码:
obj.{game_name} += score
Run Code Online (Sandbox Code Playgroud)
所以无论游戏名称是什么,都编辑了正确的属性,
现在我的问题是,
是否有动态方法来访问 Django 模型对象的属性?
您可以使用 getattr/setattr 来实现您想要的。例如,设置字段值:
old_value = getattr(obj, field_name)
setattr(obj, field_name, old_value + score)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
700 次 |
| 最近记录: |