Flask-SQLAlchemy查询结果的数量

时间:2013-11-18 06:15:49

标签: flask flask-sqlalchemy

我想知道是否有人知道如何从烧瓶模板中的查询输出结果数量。

示例视图代码:

products = Product.query.all()

在模板中,能够做到这一点很方便:

{{ products.count() }}

反正有没有这样做,或者有没有人写过这样做的过滤器?

干杯,

2 个答案:

答案 0 :(得分:31)

您的products模板变量是常规列表。您可以使用length过滤器来获取其大小:

{{ products|length }}

但是如果您正在使用分页结果,那么这将为您提供一页的大小。如果您想要整个查询的大小,则必须在查询对象上调用count()。例如:

product_count = Product.query.count()

然后将此作为附加参数传递给模板。或者,如果您愿意,可以将查询对象传递给模板并从那里调用count()

{{ product_query.count() }}

答案 1 :(得分:-3)

你可以使用len(products), 它是标准的python函数,对我有用