[英]How to annotate more than one value in Django
I want to expand existing queryset. 我想扩展现有的查询集。
I tried the following: 我尝试了以下方法:
def queryset(self, request):
qs = super(MyAdmin, self).queryset(request)
qs = qs.annotate(models.Count('article'))
return qs
It works perfectly for one annotation. 它非常适合一个注释。 But how can I add more? 但是如何添加更多?
def queryset(self, request):
qs = super(MyAdmin, self).queryset(request)
qs = qs.annotate(models.Count('article'))
qs = qs.annotate(models.Count('comment'))
return qs
With above solution results go crazy. 通过上述解决方案,结果变得疯狂。 When it should show: 什么时候应该显示:
2
articles 2
篇 2
comments 2
评论 it shows: 表明:
4
articles 4
篇 4
comments 4
评论 you should use this 你应该用这个
Count('article', distinct=True)
def queryset(self, request):
qs = super(MyAdmin, self).queryset(request)
qs = qs.annotate(models.Count('article', distinct=True))
qs = qs.annotate(models.Count('comments', distinct=True))
return qs
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.