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'))