django запрос получить последние n записей

Допустим, что я реализую stream сообщений, записывает сортировку по ID по возрастанию, каждый запрос на выборку, я хочу разрешить только получение самых последних 10 записей.

Я пытался:

Messages.objects.filter(since=since)[:-10] 

И у меня была ошибка: отрицательное индексирование не поддерживается.

Моя текущая работа – это сортировка по убыванию, а затем запуск:

 Messages.objects.filter(since=since)[:10] 

Но это требует, чтобы передняя часть снова изменила порядок.

Мой вопрос в том, есть ли элегантный способ сделать это?

Вы можете передать запрос на отмену :

 last_ten = Messages.objects.filter(since=since).order_by('-id')[:10] last_ten_in_ascending_order = reversed(last_ten) 

Или используйте [::-1] вместо reversed :

 last_ten = Messages.objects.filter(since=since).order_by('-id')[:10][::-1] 

Если вы хотите, чтобы последние X-записи отсортировались в порядке убывания по id , Тогда я не думаю, что вам нужно, так как фильтр

 last_ten = Messages.objects.all().order_by('-id')[:10] 

Использование -id будет сортироваться в порядке убывания. Надеюсь, это было полезно!

  • Django - Соединение отказано
  • Сообщение об ошибке Django "Добавить аргумент related_name в определение"
  • Учебник Django: что такое choice_set?
  • Менеджер недоступен; Пользователь был заменен на «pet.Person»
  • Django: группа по дате (день, месяц, год)
  • Django: доступ к переменным сеанса из шаблона?
  • Django / Comet (Push): Меньше всего зол?
  • Django: переадресовать пользователей с учетной записи
  • регистрировать все запросы sql
  • Django admin DoNotExist at / admin /
  • Django - Войти через E-mail
  • Interesting Posts

    Необходимо исправить Windows MBR без использования компакт-диска

    Использовать AdBlock без обнаружения

    Почему quicksort более популярен, чем сортировка radix?

    Предложения по восстановлению поврежденных файлов

    Как я могу создать СУММУ ячеек, соответствующих конкретным критериям?

    Как создать пример данных из частных данных (заменяя имена переменных и уровни владельцами неинформативных мест)?

    Android canvas: рисовать прозрачный круг на изображении

    Как сбрасывать последовательность первичных ключей postgres, когда она выпадает из синхронизации?

    API Карт Google v2: как сделать маркеры доступными для кликов?

    Странное поведение const_cast

    Почему мне не хватает места на моем жестком диске в Windows?

    Загрузить изображение в таблицуView из URL-адреса iphone sdk

    Как я могу использовать UTF-8 в Linux из Windows 7 через PuTTY?

    Разделить файл архива большого размера в постоянном рабочем пространстве

    Как установить флаги компилятора CUDA в Visual Studio 2010?

    Давайте будем гением компьютера.