Как эффективно сделать выборку следующего по величине элемента в Django?

Всем привет.

Ситуация

Есть модель элемента, где есть имя и число лайков

Element

title = models.CharField()
number_of_likes = models.IntegerField()


Число лайков каждого элемента увеличивается на неизвестное число после действий пользователей.

===

Задача

1) Нам известен один элемент,
2) Нам нужно вывести еще один элемент, число лайков которого идет за элементом из пункта 1 (если бы элементы были отсортированы по возрастанию числу лайков).

===

Учитывая то, что число лайков постоянно изменяется, то пока единственным решением кажется сортировка элементов по числу лайков каждый раз при выводе информации. Но есть ли более умный способ это сделать?
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
@deliro
Element.objects.filter(number_of_likes__gt=el.number_of_likes).order_by('number_of_likes').first()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы