繁体   English   中英

如何在Django中注释多个值

[英]How to annotate more than one value in Django

我想扩展现有的查询集。

我尝试了以下方法:

def queryset(self, request):
    qs = super(MyAdmin, self).queryset(request)
    qs = qs.annotate(models.Count('article'))
    return qs

它非常适合一个注释。 但是如何添加更多?

def queryset(self, request):
    qs = super(MyAdmin, self).queryset(request)
    qs = qs.annotate(models.Count('article'))
    qs = qs.annotate(models.Count('comment'))
    return qs

通过上述解决方案,结果变得疯狂。 什么时候应该显示:

  • 2
  • 2评论

表明:

  • 4
  • 4评论

你应该用这个

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM