我正在尝试获取查询的值:
total_sales = (Model.query
.with_entities(Model.dept_name,
sa.func.sum(Model.sales),
sa.func.count(Model.sales))
.filter(Model.companyid == companyid)
.filter(Model.sales> 0)
.group_by(Model.companyid, Model.dept_name)
.all())
在我的jinja代码中,我有:
{% for item in total_sales %}
<tr>
<td>{{ item.dept_name}}</td>
</tr>
<tr>
<td>{{ item.sum }}</td>
</tr>
<tr>
<td>{{ item.count }}</td>
</tr>
{% endfor %}
dept_name显示但item.sum
未显示,item.count
显示为<built-in method count of result object at 0x000002DEA910D098>
如果我print(total_sales)
我可以将查询结果视为元组列表。如何在我的jinja文件中访问它?
答案 0 :(得分:4)
您需要在功能结果中添加标签,以便更清楚地访问它们。由于您在模板中使用count
和sum
,因此它会像:
sa.func.sum(Model.sales).label('sum'),
sa.func.count(Model.sales).label('count')