数据库更新怪异

海蒂

我正在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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章