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.
Reserved.objects.filter(client=client_id).order_by('-check_in')
Notez le -
avant le check_in
.
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
Vous pouvez également utiliser l'instruction suivante:
Reserved.objects.all().filter(client=client_id).order_by('check_in').reverse()
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]
Cela fonctionne en supprimant .all()
:
Reserved.objects.filter(client=client_id).order_by('-check_in')
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',)
Cela fonctionne pour moi.
latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]
Ordre croissant
Reserved.objects.all().filter(client=client_id).order_by('check_in')
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.