Как итерировать словарь по шаблону в Django

У меня есть два цикла, которые работают идеально, если я печатаю результаты. Это дает мне список, который показывает имя и значение, но у меня есть трудности с отображением этого в шаблоне. Он просто показывает последние результаты.

for u in Performance.objects.raw('SELECT * FROM...')
    name = u.last_name + ' ' + u.first_name

    for e in Projekt_perf.objects.raw('SELECT stressz_profile.id...')
        total = e.total

        results = {'name':name, 'total':total}


     context = {
        'results': results,
        'name': name,
        'total': total,    
        }

        return render(request, 'performance/list.html', context)`

Этот словарь я получаю, он в порядке: {'name': 'Someone01', 'total': 25} {'name': 'Someone02', 'total': 7} {'name': 'Someone03', 'total': 10} {'name': 'Someone04', 'total': 0}

Я хочу иметь словарь выше в шаблоне и я пробовал эти методы, но я не получил все элементы только последний. {% for r in results %} {{ r }} {% endfor %}

{% for r in results %} {{ r.name }} - {{ r.total }} {% endfor %}

Что я делаю не так?

Попробуйте этот код, вам нужно добавить все объекты в список, а затем итерировать его. вот так ...

    final_data = []
    total =0
    for u in Performance.objects.raw('SELECT * FROM...')
        name = u.last_name + ' ' + u.first_name
        for e in Projekt_perf.objects.raw('SELECT stressz_profile.id...')
            total = e.total
            final_data.append({'name':name, 'total':total})
    context = {
    'results': final_data,
    'total': total,    
    }
    return render(request, 'performance/list.html', context)

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