У меня есть функция, которая принимает объект id
. С помощью этого id я могу получить объект таблицы object_1 = Object.objects.get(pk=id)
. Я бы хотел, чтобы таблица Object
была заказана по названию голосов. Например, objects = Object.objects.order_by('-votes')
и я хотел бы найти позицию object_1
в objects
.Django запрошенные объекты заданные позиции
Как я мог это достичь? Насколько я знаю, набор запросов не является списком, и мне придется перебирать все элементы, что было бы большой проблемой производительности, когда у меня было много записей в таблице.
Пурпур всего этого состоит в том, чтобы показать рейтинг, упорядоченный по голосам, в котором я показываю только 6 записей, а 4-й должен быть одним из объектов. Например, если я искал для объекта 1, я должен показать это:
Position | Name | Votes
5 obj5 52
6 obj3 49
7 obj10 49
8 obj1 47
9 obj15 15
10 obj6 14
Так что я хотел бы получить запрос набор с obj5,obj3,obj10,obj1,obj15,obj6
в этом порядке. Оптимальным решением было бы сделать что-то вроде: objects = Object.objects.order_by('-votes')[x-4:x+2]
где x
- это позиция объекта, который я ищу.
пс: Я использую Python 2.7.9 и Django 1.9
Это будет сделано сейчас, спасибо! – lpares12