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