def _season_points(self, **kwargs): """ Calculate points for the whole season """ if not self._points: self.get_points() return MathUtils.sum(self._points)
def get_context_data(self, **kwargs): context = super(TeamDetail, self).get_context_data(**kwargs) team = context['object'] weeks = range(1, League.objects.get(league_key=self.kwargs.get('league_key')).current_week + 1) context['stat_headers'] = ['Week #'] + self.__class__.position_list context['stat_list'] = [] for week in weeks: lineup = team.players.filter(roster__week=week) player_list = [ player for position in self.__class__.unique_list for player in team.players.filter(Q(roster__position=position), Q(roster__week=week)) ] stat_week = [ {'week': week} ] + [ {'player': player} for player in player_list ] points = MathUtils.sum([ roster.player.get_weekly_points(week) for roster in team.roster.filter(week=week).exclude(position='BN')]) lower_stat = [ {'points': 'Total: %.2f' % points} ] + [ {'points': '%.2f' % player.get_weekly_points(week)} for player in player_list ] context['stat_list'].append(stat_week) context['stat_list'].append(lower_stat) return context