django:计算具有相同值的对象

时间:2016-01-22 13:27:25

标签: django django-queryset

假设我有以下型号:

class Book(models.Model):
    name = models.CharField(max_length=70)
    lang = models.CharField(max_length=70)
    author = models.FK(Author)


class Author(models.Model):
    name = models.CharField(max_length=70)

我想写一些东西来获取带有注释字段的作者列表,该字段显示每种语言的书籍数量。无法想象它的注释:(例如{'en':10,'ru':1 ... etc}

e.g。只计算所有,Author.objects.annotate(languages=Count(book__lang))

1 个答案:

答案 0 :(得分:4)

简单注释可以帮助您:

Book.objects.values('lang').annotate(lang=Count('author')).order_by('lang')