Django Raw Query не выводится

views.py

def dashboard(request):
    employee = Employee.objects.count()
    position1 = Posit.objects.raw('SELECT employee.stat, count(posit.position_id) as NO FROM employee, posit WHERE employee.id = posit.employee_id AND posit.position_id="1" GROUP BY employee.stat')
    
    context = {
        'employee ': employee ,
        'posit': posit,
        
    }
    return render(request, 'dashboard/dashboard.html', context)

Я могу вывести количество сотрудников, используя {{employee}}, но когда я использую {{position1}}, позиция выводится как "RawQuerySet". Это вывод в MariaDb с использованием необработанного запроса.

employee.stat NO
1 100
2 20
3 30

Как я могу вывести все значения каждого employee.stat в dashboard.html? Также могу ли я вывести значение каждого сотрудника.stat NO отдельно?

Согласно документации, вы можете выполнять итерации через RawQuerySet, поэтому ваш код должен выглядеть следующим образом:

context = {
        'employee ': employee ,
        'posit': [pos for pos in position1],
        
    }

Затем можно выполнить итерацию по переменной posit в шаблонном теге, например:

{% for pos in posit %}

и затем используйте {{pos}}, когда это необходимо.

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