Подсчитать количество постов в категории - PullRequest
0 голосов
/ 14 марта 2020

Я хочу перечислить все категории в моей таблице новостей, а также добавить количество постов в каждой категории. Вот моя модель:

class Blog(models.Model):
    titre_article = models.CharField(max_length=255)
    auteur_article = models.ForeignKey(User, on_delete=models.CASCADE)
    date_article = models.DateTimeField(auto_now_add=True)
    modif_article = models.DateTimeField(auto_now=True)
    categorie_article = models.ForeignKey('BlogCat',
                                       on_delete=models.CASCADE,
                                       default='1')
    contenu = RichTextField(null=False)

    def __str__(self):
        return self.titre_article


    def get_absolute_url(self):
        return f"/blog/{self.id}"

class BlogCat(models.Model):
    nom_categorie = models.CharField(max_length=255)

    def __str__(self):
        return self.nom_categorie

    def get_absolute_url(self):
        return f"/blog/cat/{self.nom_categorie}"

Оттуда я не могу представить, каким должен быть код в view.py. Может ли кто-нибудь помочь?

Большое спасибо:)

Джефф

Ответы [ 2 ]

1 голос
/ 14 марта 2020

Вы должны использовать cout ()

obj = YourObject.objects.all().count()
0 голосов
/ 14 марта 2020

Вы можете аннотировать модель BlogCat числом Blog s:

from django.db.models import Count

BlogCat.objects.annotate(nblog=Count('blog'))

Объекты BlogCat, которые возникают из этого набора запросов, будут иметь дополнительный атрибут .nblog содержит количество связанных Blog объектов.

...