Wie kann ich bestellen, indem ich meine in Django festgelegte Abfrage nach Datum absteige?
Reserved.objects.all().filter(client=client_id).order_by('check_in')
Ich möchte nur filtern, ob alle Reserved by check_in-Daten absteigend sind.
Reserved.objects.filter(client=client_id).order_by('-check_in')
Beachten Sie das -
vorher check_in
.
-
vor Spaltenname mittlere absteigende Reihenfolge ohne-
mittlere aufsteigende.Ein Bindestrich "-" vor "check_in" zeigt die absteigende Reihenfolge an. Aufsteigende Reihenfolge ist impliziert.
Wir müssen vor filter () kein all () hinzufügen. Das würde immer noch funktionieren, aber Sie müssen nur all () hinzufügen, wenn Sie alle Objekte aus dem Root-QuerySet möchten.
Mehr dazu hier: https://docs.djangoproject.com/de/dev/topics/db/queries/#retrieving-specific-objects-with-filters
quelle
Sie können auch die folgende Anweisung verwenden:
quelle
.all().filter()
ist nicht notwendig..filter()
allein ist in Ordnung.für aufsteigende Reihenfolge:
für absteigende Reihenfolge:
oder
quelle
Es funktioniert beim Entfernen von
.all()
:quelle
Durch Hinzufügen des - wird es in absteigender Reihenfolge sortiert. Sie können dies auch festlegen, indem Sie dem Meta Ihres Modells eine Standardreihenfolge hinzufügen. Dies bedeutet, dass Sie bei einer Abfrage nur MyModel.objects.all () ausführen und diese in der richtigen Reihenfolge ausgeben.
quelle
Aufsteigende Reihenfolge
Absteigende Reihenfolge
-
(Bindestrich) wird verwendet, um hier die absteigende Reihenfolge anzuzeigen.quelle
Das funktioniert bei mir.
quelle
67
Reserved.objects.filter (client = client_id) .order_by ('- check_in')
'-' gibt die absteigende Reihenfolge an und für die aufsteigende Reihenfolge geben Sie einfach das Klassenattribut an
quelle