Django:奖品结构的数据库模型

时间:2016-09-12 11:31:11

标签: python django django-models

我试图找出为比赛的结果/奖金结构构建模型的正确方法,下面是一个例子

第一名:50000美元 第二名:10000美元 3月10日:1000美元 10月70日:500美元 70-150:25美元 150th-400th:$ 1

我的第一个想法就是这样设计:

class Prize(models.Model):
    place=models.IntegerField()
    prize=models.IntegerField()

对我来说,问题是,一旦你到达较低层,你就会开始有多个重复的条目。所以从150th-400th开始,我将有250个相同的条目。我想知道是否有更明智的方法可以解决这个问题。感谢。

1 个答案:

答案 0 :(得分:0)

首先,永远不要使用整数来存储价格。总是尝试使用十进制字段。如果您从未尝试过,那么有一点需要注意。你必须提供max_digits和decimal_places。例如:

prize = forms.DecimalField(max_digits=10, decimal_places=2)

所以你只能用8位数字(不是10位)和2位小数。

为了回答你的问题。添加从范围到范围。 然后在元添加unique_together中,所以你不会在同一个范围内使用相同的奖品重复。