擅长:python、mysql、java
<p>这是一个简化假设的练习/家庭作业,还是模拟真实世界的应用程序?例如,随着时间的推移,球员可能会改变球队:你将如何建模?为了简单起见,让我们假设玩家不会改变团队。我将为您的案例建模如下:</p>
<pre><code>class Team(models.Model):
name = models.CharField(max_length=100)
# other attributes that do not change over time
class Player(models.Model):
name = models.CharField(max_length=100)
team = models.ForeignKey(Team)
# other attributes that do not change over time
class Match(models.Model):
venue = models.CharField(max_length=100)
date = models.DateField()
# other non-redundant attributes
class PlayerMatch(models.Model):
player = models.ForeignKey(Player)
match = models.ForeignKey(Match)
points = models.IntegerField()
assists = models.IntegerField()
rebounds = models.IntegerField()
</code></pre>
<p>这里重要的部分是统计数据只保存在<code>PlayerMatch</code>中。您不必在<code>Player</code>或<code>Match</code>中重复它们,这将是<a href="http://en.wikipedia.org/wiki/Data_redundancy" rel="nofollow">redundant</a>。相反,可以根据这些数据结构计算比赛或球员的统计数据。在</p>