我如何通过降序我的查询集在django的日期?
Reserved.objects.all().filter(client=client_id).order_by('check_in')
我只是想过滤从下降所有保留的check_in日期。
我如何通过降序我的查询集在django的日期?
Reserved.objects.all().filter(client=client_id).order_by('check_in')
我只是想过滤从下降所有保留的check_in日期。
当前回答
它可以移除.all():
Reserved.objects.filter(client=client_id).order_by('-check_in')
其他回答
添加-将按降序排列。 您也可以通过在模型的元中添加默认顺序来设置这一点。这意味着当您执行查询时,只需执行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')
注意check_in之前的-。
Django的文档
如果由于某种原因你有空值,你可以像这样使用F函数:
from django.db.models
Reserved.objects.all () .filter(客户= 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
这对我很有用。
latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]
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