web-dev-qa-db-fra.com

django order_by ensemble de requêtes, croissant et décroissant

Comment puis-je commander en descendant ma requête définie dans Django par date?

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

Je veux juste filtrer par ordre décroissant tous les Réservé par check_in date.

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

Notez le - avant le check_in.

Documentation Django

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

Un trait d'union "-" devant "check_in" indique un ordre décroissant. L'ordre croissant est impliqué.

Nous n'avons pas besoin d'ajouter un all () avant filter (). Cela fonctionnerait toujours, mais vous aurez seulement besoin d'ajouter tout () quand vous voulez tous les objets de la racine QuerySet.

Plus d'informations ici: https://docs.djangoproject.com/en/dev/topics/db/queries/#retrieving-specific-objects-with-filters

56
Leonardo.Z

Vous pouvez également utiliser l'instruction suivante:

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

pour ordre croissant:

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

pour ordre décroissant:

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

ou

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

Cela fonctionne en supprimant .all():

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

Ajouter le - le classera par ordre décroissant . Vous pouvez également le définir en ajoutant un classement par défaut à la méta de votre modèle. Cela signifie que lorsque vous faites une requête, vous devez simplement créer MyModel.objects.all () et le résultat sera affiché dans le bon ordre.

class MyModel(models.Model):

    check_in = models.DateField()

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

Cela fonctionne pour moi.

latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]
0
Manish Gupta
  1. Ordre croissant

    Reserved.objects.all().filter(client=client_id).order_by('check_in')
    
  2. Ordre décroissant

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

- (trait d'union) est utilisé pour indiquer l'ordre décroissant ici.

0
Vishvajit Pathak