Reserved.objects.filter(client=client_id).order_by('-check_in')
注意 check_in
之前的 -
。
Reserved.objects.filter(client=client_id).order_by('-check_in')
“check_in”前面的连字符“-”表示降序。升序是隐含的。
我们不必在 filter() 之前添加 all()。这仍然有效,但您只需要在需要根 QuerySet 中的所有对象时添加 all()。
更多信息在这里:https://docs.djangoproject.com/en/dev/topics/db/queries/#retrieving-specific-objects-with-filters
添加 - 将按降序排列。您还可以通过向模型的元数据添加默认排序来设置它。这意味着当您进行查询时,您只需执行 MyModel.objects.all()
,它就会以正确的顺序出现。
class MyModel(models.Model):
check_in = models.DateField()
class Meta:
ordering = ('-check_in',)
您还可以使用以下说明:
Reserved.objects.filter(client=client_id).order_by('check_in').reverse()
对于升序:
Reserved.objects.filter(client=client_id).order_by('check_in')
对于降序:
1. Reserved.objects.filter(client=client_id).order_by('-check_in')
或者
2. Reserved.objects.filter(client=client_id).order_by('check_in')[::-1]
它可以删除 .all()
:
Reserved.objects.filter(client=client_id).order_by('-check_in')
升序 Reserved.objects.all().filter(client=client_id).order_by('check_in') 降序 Reserved.objects.all().filter(client=client_id).order_by('-check_in')
-
(连字符)在这里表示降序。
67
Reserved.objects.filter(client=client_id).order_by('-check_in')
'-' 表示降序,升序只给出类属性
Reserved.objects.filter(client=client_id).earliest('check_in')
或者,
Reserved.objects.filter(client=client_id).latest('-check_in')
这是 earliest()
和 latest()
的文档
如果由于某种原因你有空值,你可以像这样使用 F 函数:
from django.db.models import F
Reserved.objects.all().filter(client=client_id).order_by(F('check_in').desc(nulls_last=True))
所以它将把空值放在最后。 Django 的文档:https://docs.djangoproject.com/en/stable/ref/models/expressions/#using-f-to-sort-null-values
这非常简单,只需按照以下说明进行操作。
----- 这是降序
Reserved.objects.filter(client=client_id).order_by('-check_in')
------这是升序
Reserved.objects.filter(client=client_id).order_by('check_in')
如果您想通过降序选择,只需在属性字段之前添加减号运算符,或者如果您想通过升序选择不需要减号运算符。
这对我有用。
latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]
你可以试试这个
Staffs.objects.filter(active=1).order_by('rank')
-(连字符)用于表示降序。
-
表示降序,而-
表示升序。