Вы можете добавить к вашему class Team
функцию, которая возвращает максимальное значение этих совпадений, например:
#models.py
class Team(models.Model):
match1 = models.CharField(max_length=4, blank=True, default="/")
match2 = models.CharField(max_length=4, blank=True, default="/")
match3 = models.CharField(max_length=4, blank=True, default="/")
def highest(self):
# Compares self.match1, self.match2, self.match3 and returns highest
Затем вы можете отсортировать их, используя:
#views.py
def team_rankings(request): # Scoreboard/rankings of teams
context = {
'teams': sorted( Team.objects.all(), key=lambda x: x.highest() )
}
return render(request, 'scoring_system/rankings.html', context)