Использование всех значений в модели для создания графика в Django
Я хотел бы создать график со всей информацией, хранящейся в моей базе данных. В частности, я хотел бы иметь на оси X все дни недель, а на оси Y - все числа, хранящиеся в моей базе данных. Мне удалось успешно создать метки для недели, но когда я пытаюсь вывести значение данных, ничего не отображается. Также, если я попытался использовать data = list(Month.objects.values_list())[2:]
для удаления поля file и поля id, мой список просто возвращается пустым. Что я делаю не так? Спасибо всем
МОДЕЛЬ
class Week(models.Model):
file = models.OneToOneField(File, on_delete=models.CASCADE)
monday = models.PositiveIntegerField(null=True)
tuesday = models.PositiveIntegerField(null=True)
wednesday = models.PositiveIntegerField(null=True)
thursday = models.PositiveIntegerField(null=True)
friday = models.PositiveIntegerField(null=True)
saturday = models.PositiveIntegerField(null=True)
sunday = models.PositiveIntegerField(null=True)
VIEW
def week_data(request, pk):
labels = [f.name for f in Week._meta.get_fields()]
data = list(Week.objects.values_list())
context = {
'labels': labels,
'data': data
}
return render(request, 'data.html', context)
HTML
<!DOCTYPE html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js"></script>
<canvas id="doughnut-chart" width="800" height="450"></canvas>
new Chart(document.getElementById("doughnut-chart"), {
type: 'doughnut',
data: {
labels: [{% for label in labels %} '{{ label|capfirst }}', {% endfor %}],
datasets: [
{
label: "Population (millions)",
backgroundColor: ["#3e95cd", "#8e5ea2","#3cba9f","#e8c3b9","#c45850", ,"#c45850", ,"#c45850"],
data: [{% for value in data %} {{ value }} {% endfor %}]
}
]
},
options: {
title: {
display: true,
text: 'Predicted world population (millions) in 2050'
}
}
});
</script>