我试图找出为比赛的结果/奖金结构构建模型的正确方法,下面是一个例子
第一名: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个相同的条目。我想知道是否有更明智的方法可以解决这个问题。感谢。
答案 0 :(得分:0)
首先,永远不要使用整数来存储价格。总是尝试使用十进制字段。如果您从未尝试过,那么有一点需要注意。你必须提供max_digits和decimal_places。例如:
prize = forms.DecimalField(max_digits=10, decimal_places=2)
所以你只能用8位数字(不是10位)和2位小数。
为了回答你的问题。添加从范围和到范围。 然后在元添加unique_together中,所以你不会在同一个范围内使用相同的奖品重复。