00001 from dataplot import plotmodels as models
00002 from dataplot import R
00003
00004 class Player(models.Model):
00005 DATAPLOTS=[
00006 (R.TimeSeries,{'qs':'related_scores','attribute':'win_percent_plot',
00007 'get_plot_args':{
00008 'd':'game_seconds',
00009 'y':'win_percent_until_now',
00010 'ylab':'Win percent',
00011 'xlab':'Game date',
00012 'main':'Win percent change over time'
00013 }}),
00014 ]
00015
00016 def related_scores(self):
00017 return self.score_set.all()
00018
00019 class Score(models.Model):
00020 player=models.ForeignKey(Player)
00021 team=models.ForeignKey(Team)
00022
00023 def game_seconds(self):
00024 return self.date.strftime("%s")
00025
00026 def win_percent_until_now(self):
00027 qs=self.player.score_set.filter(
00028 team__game__date__lte=self.team.game.date)
00029 wins=qs.filter(team__won__exact=True).count()
00030 games=qs.count()
00031 return float(wins)/games
00032
00033
00034
00035