@cicwak

Как найти какой по счету QuerySet в списке c QuerySet?

Вопрос конечно может задан некорректно, но сейчас все объясню.
5fff6b6615cdc675825593.png
Есть БД, с большим кол-вом записей(в теории >100 000).
Надо составить рейтинг пользователей, по наибольшему значению в столбце how_start.
Общий рейтинг смог составить, но вот найти конкретного пользователя в этой большой БД, не смог.

Это как я сортировал наиболее часто играющих пользователей:
most_games_player = profiles.objects.order_by('-how_start')

работает всё корректно, и более того, быстро!

Но вот захотелось найти место юзера в этом рейтинге, возник вопрос, как?
Начал искать информацию, так и не нашел ответ.

Попробовал с помощью такого способа:
player = list(most_games_player).index(most_games_player.get(user_id=user_id))

Все работает, но. Есть одно но, оно работает медленно(очень даже), на 70 000 пользователей - потратилась 1 секунда, это достаточно много(как по мне), есть ли какой-то способ оптимизировать данный способ, либо есть ли встроенный методы в django.model?

Вопрос состоит в чем, чтобы в most_games_player найти конкретного пользователя, например с id==555.

Спасибо за внимание
  • Вопрос задан
  • 18 просмотров
Пригласить эксперта
Ответы на вопрос 1
@deliro
Агрессивное программирование
Посчитать, сколько пользователей имеют рейтинг больше, чем у искомого
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы