Reserved.objects.filter(client=client_id).order_by('-check_in')
Notice the -
before check_in
.
Reserved.objects.filter(client=client_id).order_by('-check_in')
A hyphen "-" in front of "check_in" indicates descending order. Ascending order is implied.
We don't have to add an all() before filter(). That would still work, but you only need to add all() when you want all objects from the root QuerySet.
More on this here: https://docs.djangoproject.com/en/dev/topics/db/queries/#retrieving-specific-objects-with-filters
Adding the - will order it in descending order. You can also set this by adding a default ordering to the meta of your model. This will mean that when you do a query you just do MyModel.objects.all()
and it will come out in the correct order.
class MyModel(models.Model):
check_in = models.DateField()
class Meta:
ordering = ('-check_in',)
You can also use the following instruction:
Reserved.objects.filter(client=client_id).order_by('check_in').reverse()
for ascending order:
Reserved.objects.filter(client=client_id).order_by('check_in')
for descending order:
1. Reserved.objects.filter(client=client_id).order_by('-check_in')
or
2. Reserved.objects.filter(client=client_id).order_by('check_in')[::-1]
It works removing .all()
:
Reserved.objects.filter(client=client_id).order_by('-check_in')
Ascending order Reserved.objects.all().filter(client=client_id).order_by('check_in') Descending order Reserved.objects.all().filter(client=client_id).order_by('-check_in')
-
(hyphen) is used to indicate descending order here.
67
Reserved.objects.filter(client=client_id).order_by('-check_in')
'-' is indicates Descending order and for Ascending order just give class attribute
Reserved.objects.filter(client=client_id).earliest('check_in')
Or alternatively
Reserved.objects.filter(client=client_id).latest('-check_in')
Here is the documentations for earliest()
and latest()
If for some reason you have null values you can use the F function like this:
from django.db.models import F
Reserved.objects.all().filter(client=client_id).order_by(F('check_in').desc(nulls_last=True))
So it will put last the null values. Documentation by Django: https://docs.djangoproject.com/en/stable/ref/models/expressions/#using-f-to-sort-null-values
This is very easy and simple just follow the below instruction.
----- This for Descending
Reserved.objects.filter(client=client_id).order_by('-check_in')
------This for Ascending
Reserved.objects.filter(client=client_id).order_by('check_in')
if you want to select by Descending just add minus operator before the attribute field or if you want to select by Ascending no need minus operator.
This is working for me.
latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]
You can try this
Staffs.objects.filter(active=1).order_by('rank')
- (hyphen) is used to indicate descending orde.
Success story sharing
-
before column name mean descending order without-
mean ascending.