Django 原始查询不输出
Django Raw Query does not Output
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}} 输出员工人数,但是当我使用 {{posit}} 时,位置输出是“RawQuerySet”。这是使用原始查询在 MariaDb 中的输出。
employee.stat
NO
1
100
2
20
3
30
如何输出dashboard.html中每个employee.stat的所有值?我也可以分别输出每个 employee.stat NO 吗?
您可以根据文档遍历 RawQuerySet,因此您的代码需要遵循以下几行:
context = {
'employee ': employee ,
'posit': [pos for pos in position1],
}
然后,您可以在模板标记中迭代 posit 变量,例如:
{% for pos in posit %}
然后在需要的时候使用{{pos}}
。
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}} 输出员工人数,但是当我使用 {{posit}} 时,位置输出是“RawQuerySet”。这是使用原始查询在 MariaDb 中的输出。
employee.stat | NO |
---|---|
1 | 100 |
2 | 20 |
3 | 30 |
如何输出dashboard.html中每个employee.stat的所有值?我也可以分别输出每个 employee.stat NO 吗?
您可以根据文档遍历 RawQuerySet,因此您的代码需要遵循以下几行:
context = {
'employee ': employee ,
'posit': [pos for pos in position1],
}
然后,您可以在模板标记中迭代 posit 变量,例如:
{% for pos in posit %}
然后在需要的时候使用{{pos}}
。