Django order_by 关于两个字段,但是需要反转一个
Django order_by on two fields, but one needs to be reversed
多亏了这个 post:
,我知道了如何使用多个字段进行排序
Django: Order_by multiple fields
可是我运行进了问题,一个字段是数字,另一个是人名。我需要按从最高会费到最低的降序排列,但在其中按字母顺序按名称排序。
我试过这个:
invoice_items = InvoiceItem.objects.filter(invoice__exact=inv.id).order_by('dues', 'provider').reverse()
它正确地处理了会费,从最高会费组(如 350)到最低会费组,但名称也是相反的,因此列表顶部是以 Z y 等开头的名称...
我需要的是:
Bob 350
Carl 350
Mike 350
Thomas 350
April 200
Gary 200
etc..
而不是我得到的:
Thomas 350
Mike 350
Carl 350
Bob 350
Gary 200
April 200
不确定实现此目的的正确语法。
我认为这会起作用:
invoice_items = (InvoiceItem.objects
.filter(invoice__exact=inv.id)
.order_by('-dues', 'provider'))
多亏了这个 post:
,我知道了如何使用多个字段进行排序Django: Order_by multiple fields
可是我运行进了问题,一个字段是数字,另一个是人名。我需要按从最高会费到最低的降序排列,但在其中按字母顺序按名称排序。
我试过这个:
invoice_items = InvoiceItem.objects.filter(invoice__exact=inv.id).order_by('dues', 'provider').reverse()
它正确地处理了会费,从最高会费组(如 350)到最低会费组,但名称也是相反的,因此列表顶部是以 Z y 等开头的名称...
我需要的是:
Bob 350
Carl 350
Mike 350
Thomas 350
April 200
Gary 200
etc..
而不是我得到的:
Thomas 350
Mike 350
Carl 350
Bob 350
Gary 200
April 200
不确定实现此目的的正确语法。
我认为这会起作用:
invoice_items = (InvoiceItem.objects
.filter(invoice__exact=inv.id)
.order_by('-dues', 'provider'))