Моя проблема в том, что когда я go вызываю контекстную переменную в моем шаблоне, все, что я получаю, - это набор запросов.
Это потому, что в ваших данных контекста (в частности, ['data']
), все объекты представляют собой набор запросов, как вы использовали .objects.all()
. Я знаю два решения, которые могут сработать: одно - вернуть их по отдельности, если они не связаны, а другое - использовать функцию zip
.
Возвращать данные отдельно
Наивно, но работает, если ваши данные просты, что означает, что они не имеют отношения друг к другу.
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['backend'] = backend.objects.all()
context['datalayer'] = datalayer.objects.all()
context['frontend'] = frontend.objects.all()
return context
Объединить данные вместе
Используйте это, если вы хотите, чтобы ваш контекст отображался вместе.
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
back = list(backend.objects.all())
datal = list(datalayer.objects.all())
front = list(frontend.objects.all())
context['data'] = zip(back, data1, front) # pairs data up, returns 2D array
return context
Итак, допустим, у вас есть эти
back = [a, b, c]
datal = [d, e, f]
front = [g, h, i]
Когда вы соедините их вместе, вы получите
zipped = [[a, d, g], [b, e, h], [c, f, i]]
PS в соответствии с этот поток , вы можете преобразовывать наборы запросов в список