I'm trying to write a league table for some sport results using django.  At the moment my model looks pretty basic:

class Scores(models.Model):
matchnum = models.AutoField(primary_key=True)
homeuser = models.ForeignKey(User, related_name="hmuser")
hometeam = models.ForeignKey('teams', related_name="hmteam")
homescore = models.IntegerField()
wayuser = models.ForeignKey(User)
awayteam = models.ForeignKey('teams')
awayscore = models.IntegerField()
pub_date = models.DateTimeField(auto_now_add=True, editable=False)
def __unicode__(self):
id = str(self.matchnum)
return id
class Meta:
verbose_name_plural="Scores"

class Teams(models.Model):
teamname = models.CharField(max_length=40)
def __unicode__(self):
return self.teamname
class Meta:
verbose_name_plural = "Teams"

However, with the information in this simple model - I should be able to generate a league table, with the following fields:

Team Played # Won Drawn Lost Goals For Goals Against Goal Difference Points

So how to put this into a Django App? Well I need some advice, as my original method was to edit the save() function of the model to input fields into a new model - however, I should be editing things at the form level. I'd also like a 'generate league' method, rather than a method where a league is generated at the end of each score addition. The main advantages of this approach is that I can:

Django is a fantastic python framework that I'm immediately getting to grips with - but as this kind of application (simple as it is) - is one that's scalable and may be useful to many other users.. I want to get it right from the start.

I'll be tagging the posts with 'djangoleague' if you want to keep up with development - and if anyone wants to use the project/help me out with it - please post in the comments and I'll get back to you.