Django硬币/积分系统理念

Django硬币/积分系统理念,django,Django,我正在django创建一个基于Web的游戏,其中几乎所有的动作都需要一些硬币/点数,因此对于每个动作,我需要检查userprofile是否有特定的硬币用于动作。我见过奖励/奖励包,但似乎在执行某些操作后,他们正在奖励/奖励。我需要一个通用的解决方案,检查用户是否有某些硬币的行动或没有 对于硬币,我是这样做的: class UserProfile(models.Model): .... def deduct_coins(coins): self.coin -= coins self

我正在django创建一个基于Web的游戏,其中几乎所有的动作都需要一些硬币/点数,因此对于每个动作,我需要检查userprofile是否有特定的硬币用于动作。我见过奖励/奖励包,但似乎在执行某些操作后,他们正在奖励/奖励。我需要一个通用的解决方案,检查用户是否有某些硬币的行动或没有

对于硬币,我是这样做的:

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)操作之前,我将执行以下步骤:

  • 检查用户是否需要硬币
  • 执行动作
  • 扣除所需的硬币
1-如何使此流程通用化

2-除了内置信号外,是否有任何自定义信号,如果有,我如何使用它们


3-预存信号可用于此场景。

不要忘记将扣除(和添加)硬币的方法包装在transaction@stevejalim你能再解释一下吗?如果你不熟悉交易,那就去看看。如果是,请查看Django细节:因此添加
transaction
decorator将回滚异常情况下的任何更改。它是否也会回滚
信号
事务?