我对 Django 和 OO 比较陌生,所以我可能遗漏了一些明显的东西,但我无法理解如何对以下内容进行建模:
我有位置。
我有游戏。
每个位置都可以拥有所需数量的游戏,并且游戏可以位于多个位置(这些是游戏名称“大富翁”中的游戏,而不是特定实例)。
这很简单,可以用 m2m 关系建模:
class Location(models.Model):
name = models.CharField(max_length=300)
city = models.CharField(max_length=300)
[ etc etc ]
games = models.ManyToManyField('Game', related_name='locations', blank=True)
class Game(models.Model):
name = models.CharField(max_length=300)
manufacturers = models.ForeignKey('Manufacturer')
[ etc etc ]
我也有通常的 Django 用户模型。
现在,我试图添加到这种关系中的是分数的概念。
用户应该能够为位于特定位置的游戏输入他们的分数。然后,我应该能够显示某个位置的每场比赛的前 10 名得分,以及所有位置的一场比赛的全球前 10 名得分。
所以,基本上应该有一个与用户、游戏和位置相关联的分数。
在我看来,这应该是与关系本身的某种关系。我查看了有关 m2m 关系和中间模型的额外字段,但我无法找到正确执行此操作的方法。
任何指针都很高兴。
谢谢!