Jak mogę zamówić, opuszczając zestaw zapytań w django według daty?
Reserved.objects.all().filter(client=client_id).order_by('check_in')
Chcę tylko odfiltrować od zejścia wszystkie Zarezerwowane według daty check_in.
Reserved.objects.filter(client=client_id).order_by('-check_in')
Zwróć uwagę na -
wcześniej check_in
.
-
przed nazwą kolumny oznacza kolejność malejącą bez-
średniej wysokości.Łącznik „-” przed „check_in” oznacza kolejność malejącą. Sugerowana jest kolejność rosnąca.
Nie musimy dodawać all () przed filter (). To nadal działałoby, ale musisz dodać all () tylko wtedy, gdy chcesz wszystkie obiekty z głównego QuerySet.
Więcej na ten temat tutaj: https://docs.djangoproject.com/en/dev/topics/db/queries/#retrieving-specific-objects-with-filters
źródło
Możesz także użyć następującej instrukcji:
źródło
.all().filter()
nie jest konieczne..filter()
sam jest w porządku.w porządku rosnącym:
dla porządku malejącego:
lub
źródło
Działa usuwając
.all()
:źródło
Dodanie - spowoduje uporządkowanie w kolejności malejącej. Możesz to również ustawić, dodając domyślną kolejność do meta twojego modelu. Oznacza to, że kiedy wykonasz zapytanie, po prostu wykonasz MyModel.objects.all () i pojawi się ono we właściwej kolejności.
źródło
Rosnąco
Kolejność malejąca
-
(łącznik) służy tutaj do wskazania kolejności malejącej.źródło
To działa dla mnie.
źródło
67
Reserved.objects.filter (client = client_id) .order_by ('- check_in')
„-” oznacza kolejność malejącą, a dla kolejności malejącej wystarczy podać atrybut klasy
źródło