我是Django的新手,所以这个问题可能很基础。
我有一个名为的模型UserScores
,其中包含16个不同的得分属性,每个属性都基于他/她玩过的游戏来表示用户得分。
当用户玩游戏并完成游戏时,应将他在该游戏中获得的分数添加到其UserScores对象的相关属性中。所以代码看起来像这样:
if game_name == "game_1":
self.game1_score += score
elif game_name == "game_2":
self.game2_score += score
...
在PHP中,我曾经运行过这样的代码:
obj.{game_name} += score
因此,无论游戏名称是什么,都必须编辑正确的属性,
现在我的问题是
有没有动态的方式来访问Django模型对象上的属性?
您可以使用getattr / setattr实现所需的功能。例如,要设置字段值:
setattr(obj, field_name, gettattr(obj, field_name) + score)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句