У меня есть запрос, который упорядочивает таблицу в соответствии с определенным полем. Таблица связана с одним соревнованием, поэтому важно знать позицию.
Поскольку в таблице может быть много строк, я разбил ее на страницы (25 строк на страницу) с использованием общих представлений, но проблема в том, чтобы представить номерную позицию в таблице. Эта информация генерируется с помощью предложения order_by
.
Result.objects.all().order_by('field')
Поскольку я использую общие представления, чтобы иметь возможность легко разбивать на страницы, у меня нет какой-либо функции представления, которая позволяла бы настраивать результаты, например, используя enumerate
Сначала я подумал об использовании forloop.counter
для перечисления позиций без таблицы, но, конечно же, проблема i, когда вы представляете страницу 100, вы все равно получите числа как 1,2,3,4 , 5 ... 25 вместо 2500, 2501, 2502 ...
Я видел метод annotate()
, чтобы посмотреть, смогу ли я добавить к каждому результату позицию, которую он занимает в общей сумме, но кажется, что он добавляет только статистические данные, такие как человек и так далее ...
Есть ли способ добавить к каждому результату запроса позицию, которую он занимает?