我有个问题......
packages = Package.objects.annotate(bid_count=Count('items__bids'))
这应该给我一个包含每个出价数量的包的列表。如果包中只有一个项目,它会很有用,但如果它有更多的重复数。
每个包裹包含一个或多个物品。每个出价都放在包裹中的一个或多个商品上。我想检索该套餐中商品的出价数量。
如果套餐中的2个商品有1个出价,目前这个数字将计为2,我希望它返回1。
我尝试了Count('items__bids__distinct')
但是没有用。我怎么能这样做?
答案 0 :(得分:85)
我遇到了同样的问题,我在这里找到了解决方案:http://www.djangofoo.com/182/filter-annotate-count
packages = Package.objects.annotate(bid_count=Count('items__bids', distinct = True))