Пользователи могут иметь несколько списков, и у меня есть объекты DataItem, прикрепленные к спискам, эти объекты DataItem имеют числовые значения, и теперь мне нужно будет извлечь все значения по имени списка и вставить их в chart.js My view выглядит следующим образом:
@login_required
def app(request):
form = list_form
form2 = data_form(user=request.user)
user = request.user.pk
user_lists = List.objects.filter(user=user)
#Here I have lists in dict but I have no idea how to call them in template.
list_data = {}
for list in user_lists:
list_data[list.name] = DataItem.objects.filter(list=list)
context = {'user_lists': user_lists, 'form': form, 'form2': form2,
'list_data': list_data}
return render(request, 'app/app.html', context)
Шаблон: это часть наборов данных chart.js на html-странице, и она правильно отображает имена списков, как мне вызывать значения, связанные с этимиимена?
{% for list in user_lists %}
{
label: '{{ list.name }}',
data: [?????????],
},
{% endfor %}
Модели при необходимости
class List(models.Model):
name = models.CharField(max_length=100, default="")
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='lists')
def __str__(self):
return self.name
class Meta:
unique_together = ['name', 'user']
@property
def chart_data(self):
return ', '.join([str(x.data) for x in self.data_items])
class DataItem(models.Model):
data = models.IntegerField(default=0)
list = models.ForeignKey(List, on_delete=models.CASCADE, related_name='data_items')