我如何通过降序我的查询集在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')

其他回答

如果由于某种原因你有空值,你可以像这样使用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

添加-将按降序排列。 您也可以通过在模型的元中添加默认顺序来设置这一点。这意味着当您执行查询时,只需执行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')

------对于提升者

Reserved.objects.filter(client=client_id).order_by('check_in')

如果你想通过降序选择,只需在属性字段前添加减号运算符,如果你想通过升序选择,不需要减号运算符。

你可以试试这个

Staffs.objects.filter(active=1).order_by('rank')

-(连字符)降序。

升序排序 Reserved.objects.all () .filter(客户= client_id) .order_by(“check_in”) 降序排列 Reserved.objects.all () .filter(客户= client_id) .order_by(“-check_in”)

-(连字符)表示降序。