Django硬币/积分系统理念
我正在django创建一个基于Web的游戏,其中几乎所有的动作都需要一些硬币/点数,因此对于每个动作,我需要检查userprofile是否有特定的硬币用于动作。我见过奖励/奖励包,但似乎在执行某些操作后,他们正在奖励/奖励。我需要一个通用的解决方案,检查用户是否有某些硬币的行动或没有 对于硬币,我是这样做的:Django硬币/积分系统理念,django,Django,我正在django创建一个基于Web的游戏,其中几乎所有的动作都需要一些硬币/点数,因此对于每个动作,我需要检查userprofile是否有特定的硬币用于动作。我见过奖励/奖励包,但似乎在执行某些操作后,他们正在奖励/奖励。我需要一个通用的解决方案,检查用户是否有某些硬币的行动或没有 对于硬币,我是这样做的: class UserProfile(models.Model): .... def deduct_coins(coins): self.coin -= coins self
class UserProfile(models.Model):
....
def deduct_coins(coins):
self.coin -= coins
self.save()
def has_coins(coins):
if self.coins >= coins:
return true
return false
我没有对我的所有操作使用django表单,因此在每个操作(CRUD)操作之前,我将执行以下步骤:
- 检查用户是否需要硬币
- 执行动作
- 扣除所需的硬币
3-预存信号可用于此场景。不要忘记将扣除(和添加)硬币的方法包装在transaction@stevejalim你能再解释一下吗?如果你不熟悉交易,那就去看看。如果是,请查看Django细节:因此添加
transaction
decorator将回滚异常情况下的任何更改。它是否也会回滚信号
事务?