如何在不同的项目上添加注释?

mpe*_*pen 34 django

我有个问题......

packages = Package.objects.annotate(bid_count=Count('items__bids'))
Run Code Online (Sandbox Code Playgroud)

这应该给我一个包含每个出价数量的包的列表.如果包中只有一个项目,它的效果很好,但是如果它有更多的重要性.

每个包裹包含一个或多个项目.每个出价都放在包裹中的一个或多个商品上.我想检索放在该包中的商品上的出价数量.

如果一个包中的2个商品有1个出价,那么现在这将被计为2,我希望它返回1.

我试过Count('items__bids__distinct')但是没用.我怎样才能做到这一点?

小智 89

我有同样的问题,我在这里找到了解决方案:http://www.djangofoo.com/182/filter-annotate-count

packages = Package.objects.annotate(bid_count=Count('items__bids', distinct = True))
Run Code Online (Sandbox Code Playgroud)

  • 我希望我能给你+1000分.IRC上的任何人都不知道如何回答这个问题,这些kwargs似乎完全没有记录,找出它们存在的唯一方法是源代码. (12认同)
  • 有一个`distinct`论点?!我早就忘记了我试图用这个问题做什么,我认为这个项目已经放弃......但是如果再次出现的话!这将是方便的.谢谢! (9认同)
  • 如果我们有 `distinct('id')` 那么我们会做什么呢? (2认同)