order_by(*fields)
默认情况下, QuerySet 返回的查询结果是根据 model 类的Meta 设置所提供的ordering 项中定义的排序元组来进行对象排序的。你可以使用order_by 方法覆盖之前QuerySet 中的排序设置。
例如:
Entry.objects.filter(pub_date__year=2005).order_by('-pub_date','headline')
返回结果就会先按照 pub_date 进行升序排序,再按照headline 进行降序排序。"-pub_date" 前面的负号"?"表示降序排序。默认是采用升序排序。要随机排序,就使用"?",例如:
Entry.objects.order_by('?')
注意:order_by('?') 可能会非常缓慢和消耗过多资源,这取决于你所使用的数据库。