在Django Model关系中按Child MAX排序Parent

时间:2013-04-16 14:45:31

标签: django django-models django-queryset

我不知道如何最好地解释我的实际问题,所以这里的内容完全类似。拍卖列表及其出价。

class Auction(models.Model):
    name = models.CharField(...)

class Bid(models.Model):
    auction = models.ForeignKey(Auction, related_name="bids")
    amount = models.PositiveIntegerField(default=0)

我想要一份按最高出价排序的拍卖清单。我有一种感觉,这将与聚合Max有关,但我可以继续按该聚合值进行排序吗?

我觉得这会非常简单,但我还没有真正考虑过这些东西。

1 个答案:

答案 0 :(得分:3)

(Auction.objects.annotate(highest_bid=models.Max('bids__amount'))
                .order_by('-highest_bid'))