Я пытаюсь получить общее количество вхождений поля в той же модели в django. Можно ли это сделать или нет?
например, у меня есть модель, как показано ниже:
class Blog(DateTimeModel):
title = models.CharField(max_length=255)
description = models.TextField()
category = models.CharField(max_length=255, null=True, blank=True)
и таблица данных, как показано ниже:
id | title | description | category
----+-------------------------------------+----------------------+----------
1 | blog title first | description 1 | social
2 | blog title second | description 2 | social
3 | blog title third | description 3 | community
4 | blog title fourth | description 4 | community
5 | blog title fifth | description 5 | people
Я хочу, чтобы результат был:
<QuerySet [{'category': 'social', 'blog_count': '2'}, {'category': 'community', 'blog_count': '2'}, {'category': 'people', 'blog_count': '1'}]>
Я попытался сделать Blog.objects.values('category').order_by('category').distinct('category').count()
и получил результат как 3
, который является истинным, потому что он подсчитал общее количество различных значений, связанных с категорией.
Счетчик аннотации Django с отдельным полем В этом посте представлено решение, в котором мы можем подсчитывать поля на основе двух моделей. Но я хочу получить результаты от той же модели.