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}}
, когда это необходимо.