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

Django 如何在不同的项目上添加注释?,django,Django,我有一个问题 packages = Package.objects.annotate(bid_count=Count('items__bids')) 它应该给我一个包的清单和每个包的投标数量。如果包中只有一个项目,效果会很好,但如果有更多项目,则会加倍计算 每个包装由一个或多个项目组成。每个投标文件都放在一个包中的一个或多个项目上。我想检索该包中项目的投标数量 如果有一个出价放在2个项目在一个包,目前这将计为2,我希望它返回1 我尝试了Count('items\uu bids\uu disti

我有一个问题

packages = Package.objects.annotate(bid_count=Count('items__bids'))
它应该给我一个包的清单和每个包的投标数量。如果包中只有一个项目,效果会很好,但如果有更多项目,则会加倍计算

每个包装由一个或多个项目组成。每个投标文件都放在一个包中的一个或多个项目上。我想检索该包中项目的投标数量

如果有一个出价放在2个项目在一个包,目前这将计为2,我希望它返回1


我尝试了
Count('items\uu bids\uu distinct')
,但没有成功。我如何才能做到这一点?

我遇到了同样的问题,我找到了解决方案:

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

有一个
不同的
参数?!我早就忘了我想对这个问题做些什么了,我认为那个项目已经被放弃了……但如果它再次出现的话!这很方便。谢谢我希望我能给你+1000分。IRC上甚至没有人知道如何回答这个问题,这些Kwarg似乎完全没有文档记录,唯一能找到它们存在的方法是从源代码。我花了一个小时尝试不同的解决方案!我在
django.db.models.aggregates.py
中检查了聚合定义,看到了签名
\uuuu init\uuuuu(self,lookup,**extra)
,但是我找不到任何关于如何使用这些命名的额外参数的文档,当然这就是答案!这到底是怎么回事!?如果我们有
distinct('id')
怎么办?是不是只有我偶尔会得到
NotImplementedError('annotate()+distinct(fields)notimplemented'))
和类似的查询?可能的重复