django order_by query set, ascending and descending
如何按日期降序排列Django中的查询集?
1 | Reserved.objects.all().filter(client=client_id).order_by('check_in') |
我只想过滤掉所有由登记日期保留的内容。
1 | Reserved.objects.filter(client=client_id).order_by('-check_in') |
注意在
Django文件
1 | Reserved.objects.filter(client=client_id).order_by('-check_in') |
"check-in"前面的连字符"-"表示降序。升序是隐含的。
我们不必在filter()之前添加all()。这仍然有效,但是您只需要在需要根查询集中的所有对象时添加all()。
更多信息:https://docs.djangoproject.com/en/dev/topics/db/queries/使用过滤器检索特定对象
您还可以使用以下说明:
1 | Reserved.objects.all().filter(client=client_id).order_by('check_in').reverse() |
。
对于升序:
1 | Reserved.objects.filter(client=client_id).order_by('check_in') |
对于降序:
1 | 1. Reserved.objects.filter(client=client_id).order_by('-check_in') |
。
或
1 | 2. Reserved.objects.filter(client=client_id).order_by('check_in')[::-1] |
。
它可以移除
1 | Reserved.objects.filter(client=client_id).order_by('-check_in') |
添加-将按降序排列。您还可以通过向模型的meta添加默认顺序来设置此值。这意味着当您执行查询时,只需执行mymodel.objects.all(),它将以正确的顺序出现。
1 2 3 4 5 6 | class MyModel(models.Model): check_in = models.DateField() class Meta: ordering = ('-check_in',) |
。
升序
1 | Reserved.objects.all().filter(client=client_id).order_by('check_in') |
降序
1 | Reserved.objects.all().filter(client=client_id).order_by('-check_in') |
。
这里用
这对我有用。
1 | latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1] |