簡體   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