Django order_by查询集,升序和降序

我如何通过降序我的查询集在django的日期?

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

我只是想过滤从下降所有保留的check_in日期。

516996 次浏览
Reserved.objects.filter(client=client_id).order_by('-check_in')

注意在check_in之前的-

Django Documentation

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 < / p >

它可以移除.all():

Reserved.objects.filter(client=client_id).order_by('-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]

这对我很有用。

latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]

添加-将按降序排列。 您也可以通过在模型的元中添加默认顺序来设置这一点。这意味着当你执行查询时,你只需要执行MyModel.objects.all(),它就会以正确的顺序出现

class MyModel(models.Model):


check_in = models.DateField()


class Meta:
ordering = ('-check_in',)
  1. < p >升序排序

    Reserved.objects.all().filter(client=client_id).order_by('check_in')
    
  2. 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')

'-'表示降序,对于升序,只需给出类属性

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

或者

Reserved.objects.filter(client=client_id).latest('-check_in')

下面是earliest()latest()的文档

这是非常简单的,只要按照下面的说明。

-----用于降序

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')

-(连字符)用于表示降序。