Включите 0 в счетчик аннотаций, если он не найден в django Queryset. - PullRequest
0 голосов
/ 16 марта 2020

Я не знаю, как правильно сформулировать свой вопрос, но я делаю запрос к таблице на основе определенного идентификатора, а затем получаю счетчик уникального поля в столбце и счет, который я даю matplotlib для plot, но с какой проблемой я сталкиваюсь, если определенное значение не найдено, размер этикетки не соответствует количеству, а plot не работает. Ниже приведен мой запрос:

workshop_feedback = WorkshopFeedbackResponse.objects.filter(workshop_conducted=workshop_id)
count = workshop_feedback.values('q1').annotate(count=Count('q1'))
sizes = [item['count'] for item in count] #converting to list for matplotlib bar char
labels = [1,2,3] #option of choices for q1
    fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%1.1f%%',
       shadow=True, startangle=90)
ax.axis('equal')
# Equal aspect ratio ensures that pie is drawn as a circle.
plt.savefig(os.path.join(settings.BASE_DIR, filename)) #filename is random image filename Which i am creating image of the graph

Имя моего столбца q1, и оно может содержать 1,2,3 в качестве параметра в зависимости от того, что пользователь заполнил, но предположим, что если у меня нет 1 или любого из параметров, счетчик не не отражайте это.

Exception Value:    
'label' must be of length 'x'

Выше приведена ошибка, из-за которой отсутствует счетчик определенного значения. Итак, Как получить значение 0, если определенное значение метки отсутствует?

Редактировать: Если я могу запросить на основе значения метки, чтобы получить значение в столбце, я могу исправить свою ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...