1
this seems more like something to be handled in the view:
players = your_queryset
ordered_players = []
counter = 1
previous_player = PlayerModel.objects.none()
for player in players.order_by("score"):
if player.score == previous_player.score:
position = previous_player.position
else:
position = counter
ordered_players.append({
"position": position,
"name": player.name,
"score": player.score
})
previous_player = player
counter += 1
return render(request, "template.html", {"players": ordered_players})
template:
{% for player in players %}
{{ player.position }}. {{ player.name }} ({{ player.score }})
{% endfor %}
Source:stackexchange.com