我一个项目,每天有很多车来拉货,我要统计每天的装货总量,以及当天派车总数和装车的总数量,代码如下:
views.py
thzs=models.xs_baohao.objects.values('num').filter(Q(cj_tm__range=(starttim,nowtime))).annotate(Sum('zh_wight')) #装货总重量
jrpc=models.xs_baohao.objects.values('num').filter(Q(cj_tm__range=(starttim,nowtime))&Q(bh_sta=2)).annotate(Count('id')) #今日派车
wzczs=models.xs_baohao.objects.values('num').filter(Q(cj_tm__range=(starttim,nowtime))&Q(zh_wight=0)&Q(bh_sta=2)).annotate(Count('id')) #未装车总数
return render(request,‘tj.html’,{'thzs':thzs,' jrpc': jrpc, 'wzczs':wzczs})
模板代码:
{% for y in thzs %}
<td>{{y.zh_wight__sum}}</td>
<td>{{wzczs.id__count}}</td>
<td>{{jrpc.id__count}}</td>
{% endfor %}
因为三个变量:‘ thzs’ ‘ jrpc ’ ‘wzczs’ 都是返回的嵌套字典 模板y中没法遍历这三个字典 我不知道该怎么编写了,希望能帮忙提供思路,谢谢!
没有想到好的办法 最后把‘ thzs’ ‘ jrpc ’ ‘wzczs’三个querryset集拿出来放进一个字典中,在模板页面遍历字典 能正常显示想要的数据了。
1、‘ thzs’ ‘ jrpc ’ ‘wzczs’ 是固定的, 则直接使用 {{thzs}} {{jrpc}}
2、如果 不是固定的, 则通过列表的方式遍历 比如 imp_board 是二维表, 可以直接使用 {{imp_board.0.0}}
也可以循环 比如 Datalist 是二维表
{% for d in DataList %}
<tr>
{% for di in d %}
<td>{{ di }}</td>
{% endfor %}
</td>
</tr>
{% endfor %}
```python
```