我想基于两个因素对QuerySet进行排序。 A和B,但是应该优先于A优先于B。也就是说,它应该对A进行排序,但是如果QuerySet中的两个对象的A相等,则应该对因子B上的这两个对象进行排序。
例如,如果因素A是时间事件,而因素B是价格。然后,它应列出所有time_to_event最小的对象,但如果两个或多个对象相同,则应按价格排序。
我没有代码示例,因为我没有尝试任何事情,尽管我尝试在google上没有令人满意的结果。
答案 0 :(得分:3)
模型管理器具有order_by
方法,该方法获取在对查询进行排序时要使用的字段列表。示例:
Entry.objects.order_by('-pub_date', 'headline')
上面的结果将按pub_date降序排列,然后按标题升序排列。 “ -pub_date”前面的负号表示降序。
https://docs.djangoproject.com/en/2.0/ref/models/querysets/#order-by