it-swarm.com.de

django order_by Abfragesatz, aufsteigend und absteigend

Wie kann ich bestellen, indem ich meine in Django eingestellten Abfragen nach Datum absteige?

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

Ich möchte nur das gesamte Reserved by check_in Datum absteigend filtern.

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

Beachten Sie den - vor check_in.

Django-Dokumentation

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

Ein Bindestrich "-" vor "check_in" zeigt die absteigende Reihenfolge an. Aufsteigende Reihenfolge ist impliziert.

Wir müssen kein all () vor filter () hinzufügen. Das würde noch funktionieren, aber Sie müssen all () nur hinzufügen, wenn Sie alle Objekte aus dem Stamm-QuerySet benötigen.

Mehr dazu hier: https://docs.djangoproject.com/de/dev/topics/db/queries/#retrieving-specific-objects-with-filters

56
Leonardo.Z

Sie können auch die folgende Anweisung verwenden:

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

aufsteigend:

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

in absteigender Reihenfolge:

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

oder

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

Es funktioniert, indem Sie .all() entfernen:

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

Hinzufügen der - will-Reihenfolge in absteigender Reihenfolge ..__ Sie können dies auch festlegen, indem Sie dem Meta Ihres Modells eine Standardreihenfolge hinzufügen. Dies bedeutet, dass Sie bei einer Abfrage einfach MyModel.objects.all () ausführen und diese in der richtigen Reihenfolge angezeigt wird.

class MyModel(models.Model):

    check_in = models.DateField()

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

Das funktioniert für mich.

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

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

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

Mit - (Bindestrich) wird hier die absteigende Reihenfolge angegeben.

0