问题:Django order_by查询集,升序和降序
如何按日期降序对django中的查询集进行排序?
Reserved.objects.all().filter(client=client_id).order_by('check_in')
我只想从所有的check_in日期按降序过滤。
回答 0
回答 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
回答 2
您还可以使用以下说明:
Reserved.objects.filter(client=client_id).order_by('check_in').reverse()
回答 3
对于升序:
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]
回答 4
它可以删除.all()
:
Reserved.objects.filter(client=client_id).order_by('-check_in')
回答 5
添加-将以降序排列。您还可以通过向模型的元数据添加默认顺序来进行设置。这意味着当您执行查询时,只需执行MyModel.objects.all(),它将以正确的顺序显示。
class MyModel(models.Model):
check_in = models.DateField()
class Meta:
ordering = ('-check_in',)
回答 6
升序
Reserved.objects.all().filter(client=client_id).order_by('check_in')
降序
Reserved.objects.all().filter(client=client_id).order_by('-check_in')
-
(连字符)用于指示降序。
回答 7
这对我有用。
latestsetuplist = SetupTemplate.objects.order_by('-creationTime')[:10][::1]
回答 8
67
Reserved.objects.filter(client = client_id).order_by(’-check_in’)
“-”表示降序,对于升序,仅提供类属性