Ошибка: AttributeError at / 'QuerySet' object has no attribute 'count_black'

Мне удалось вывести список всех голосов и теперь мне нужно сделать их процентное соотношение, которое я прописал во views.py:

def home(request):
    value = Choose.objects.all()
    
    # получаем сумму всех голосов.
    sum_black = Choose.objects.aggregate(Sum('count_black'))
    sum_white = Choose.objects.aggregate(Sum('count_white'))
    sum_purple = Choose.objects.aggregate(Sum('count_purple'))

    # считываем проценты
    all = value.count_black + value.count_white + value.count_purple 
    percent_black = int(value.count_black * 100 / all)               
    percent_white = int(value.count_white * 100 / all)               
    percent_purple = int(value.count_purple * 100 / all)             

    context = {
        "value": value,
        "sum_black": sum_black,
        "sum_white": sum_white,
        "sum_purple": sum_purple,
        "percent_black": percent_black,
        "percent_white": percent_white,
        "percent_purple": percent_purple
    }

    return render(request, 'registration/home.html', context)

models.py:

from django.db import models
from django.contrib.auth.models import User


class Choose(models.Model):
    count_black = models.PositiveIntegerField(default=0, verbose_name="black")
    count_white = models.PositiveIntegerField(default=0, verbose_name="white")
    count_purple = models.PositiveIntegerField(default=0, verbose_name="purple")
    voter = models.ForeignKey(User, null=True, blank=True, verbose_name='Пользователь', 
    on_delete=models.PROTECT)

Логика подсчета процентов работает до того, как использую objects.all(). И тут возникает ошибка, заданная в вопросе:

    all = value.count_black + value.count_white + value.count_purple
    AttributeError: 'QuerySet' object has no attribute 'count_black'
    [30/Dec/2021 14:40:40] "GET / HTTP/1.1" 500 75640

Похоже, из all нельзя взять объекты модели, но что мне делать, если они мне нужны? Помогите пожалуйста.

Вернуться на верх