У меня есть модель в простом приложении django, которая записывает баллы для людей, участвующих в конкурсе. У меня есть два модельных объекта, Entry и Person. Каждая запись имеет человека, а человек имеет несколько записей.
Я хочу создать страницу, которая показывает каждого пользователя, его общий балл и рейтинг.
Команда, которую я получил до сих пор, выглядит следующим образом:
Entry.objects.values('person__name').annotate(total=Sum('score')).order_by('-total')
Я могу вывести результат этого на страницу, используя блок for. Единственное, что я не получаю, это звание.
Как лучше всего добавить к каждой записи числовой ранг записи, включая тот факт, что, когда две оценки совпадают, ранг отражает это (т. Е. «4 =»)? Было бы лучше попытаться сделать это в шаблоне, используя protectlock.counter и некоторый механизм упреждения / отставание, или попытаться вставить это поле в сам запрос?