我正在Django中开发一款游戏,该游戏中的叛军数量在转弯后会更新。在(MySQL)数据库中,反叛者表示为0到100之间的整数。
当我保存时,会发生以下情况:
print world.rebels
>>> 0
rebstab = 0
world.rebels += rebstab
world.save()
print world.rebels
>>> 0
但是,当我使用F()表达式时(聚集时,我应该防止出现竞争情况),这会发生:
print world.rebels
>>> 0
rebstab = 0
world.rebels = F('rebels') + rebstab
world.save()
print world.rebels
>>> 100
这是怎么回事?
我只是想出原因与F()对象本身无关,而是与自定义保存方法冲突。请参阅Django F()对象和自定义保存怪异内容,以获取更深入的说明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句