2013-04-16 33 views
1

我不知道如何最好地解释我的实际问题,所以这里的内容完全类似。拍卖物品及其出价。在Django中按子项MAX排序父项模型关系

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

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

我想要一个按最高出价排序的拍卖清单。我有一种感觉,这与马克思汇总有关,但是我可以继续按该汇总值进行排序吗?

我有一种感觉,这将是非常简单的,但我还没有真正进入聚合的东西呢。

回答

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

我*告诉*您这将是简单的。谢谢帕维尔。似乎运作良好。 – Oli