繁体   English   中英

Flask:在jinja2中如何访问按总数和计数分组?

[英]Flask: How do you access group by sum and counts in jinja2?

我正在尝试获取查询的值:

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文件中访问此文件?

您需要在函数结果中添加标签,以便可以更清晰地访问它们。 由于您在模板中使用countsum ,因此就像:

sa.func.sum(Model.sales).label('sum'),
sa.func.count(Model.sales).label('count')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM