Django order_by набор запросов, восходящий и нисходящий

Как я могу заказать, по убыванию моего набора запросов в django по дате?

Reserved.objects.all().filter(client=client_id).order_by('check_in')

Я просто хочу отфильтровать из нисходящего списка всех зарезервированных по дате check_in.

Ответ 1

Reserved.objects.filter(client=client_id).order_by('-check_in')

Обратите внимание на - до check_in.

Документация Django

Ответ 2

Reserved.objects.filter(client=client_id).order_by('-check_in')

Дефис "-" перед "check_in" указывает на убывающий порядок. Подразумевается возрастающий порядок.

Нам не нужно добавлять все() перед фильтром(). Это все равно будет работать, но вам нужно всего лишь добавить all(), когда вы хотите, чтобы все объекты из корневого QuerySet.

Подробнее об этом здесь: https://docs.djangoproject.com/en/dev/topics/db/queries/#retrieving-specific-objects-with-filters

Ответ 3

Вы также можете использовать следующую инструкцию:

Reserved.objects.filter(client=client_id).order_by('check_in').reverse()

Ответ 4

для возрастания:

Reserved.objects.filter(client=client_id).order_by('check_in')

в порядке убывания:

1.  Reserved.objects.filter(client=client_id).order_by('-check_in')

или

2.  Reserved.objects.filter(client=client_id).order_by('check_in')[::-1]

Ответ 5

Выполняется удаление .all():

Reserved.objects.filter(client=client_id).order_by('-check_in')

Ответ 6

Добавление - упорядочит его в порядке убывания. Вы также можете установить это, добавив порядок по умолчанию к мета вашей модели. Это будет означать, что когда вы делаете запрос, вы просто делаете MyModel.objects.all(), и он будет отображаться в правильном порядке.

class MyModel(models.Model):

    check_in = models.DateField()

    class Meta:
        ordering = ('-check_in',)

Ответ 7

Это работает для меня.

latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]

Ответ 8

  1. По возрастанию

    Reserved.objects.all().filter(client=client_id).order_by('check_in')
    
  2. В порядке убывания

    Reserved.objects.all().filter(client=client_id).order_by('-check_in')
    

- (дефис) используется для указания здесь в порядке убывания.