Как составить рейтинг пользователей?

У пользователей есть показатели, такие как кол-во матчей, кол-во побед и подобные.. Мне надо составить рейтинг узнать место пользователя в нём, например, по кол-ву побед, но как это сделать? Даже если отсортировать queryset по победам, то получить место пользователя по счету, как я понял, не получится. Как можно это сделать?

Не совсем понял почему не получится? Ты можешь создать модель, скажем, UserWithStats и сделать сортировку по убыванию побед. Тогда, первый пользователь в QuerySet[] окажется победителем. Но это в случае, если у тебя нет одинакового количества побед (тогда придётся выдавать первые места нескольким людям или вводить дополнительные филды и сортировать по ним ещё)

class UserWithStats(models.Model):
    name = models.CharField(...)
    wins = models.IntegerField()
    class Meta:
        ordering = ["-wins"]
Вернуться на верх