开发者

How to add an annotation on distinct items?

I've got a query...

packages = Package.objects.annotate(bid_count=Count('items__bids'))

Which is supposed to give me a list of packages with the开发者_JAVA技巧 number of bids each. It works great if there's only one item in the package, but if there's more it double counts.

Each package consists of 1 or more items. Each bid is placed on 1 or more items within a package. I want to retrieve the number of bids placed on the items within that package.

If there is 1 bid placed on 2 items within a package, presently this will count as 2, I want it to return 1.

I tried Count('items__bids__distinct') but that didn't work. How can I do this?


I had the same problem and I found the resolution:

packages = Package.objects.annotate(bid_count=Count('items__bids', distinct = True))
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜