it-swarm.com.ru

набор запросов django order_by, по возрастанию и по убыванию

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

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

Я просто хочу отфильтровать по убыванию все Зарезервированные по дате check_in.

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

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

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

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

Дефис «-» перед «check_in» указывает на нисходящий порядок. Восходящий порядок подразумевается.

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

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

56
Leonardo.Z

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

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

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

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]
12
Anjaneyulu Batta

Это работает, удаляя .all():

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

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

class MyModel(models.Model):

    check_in = models.DateField()

    class Meta:
        ordering = ('-check_in',)
2
Thomas Turner

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

latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]
0
Manish Gupta
  1. По возрастанию

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

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

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

0
Vishvajit Pathak