Flask-SQLAlchemy查询结果的数量

Ben*_*lah 19 flask flask-sqlalchemy

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

示例视图代码:

products = Product.query.all()
Run Code Online (Sandbox Code Playgroud)

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

{{ products.count() }}
Run Code Online (Sandbox Code Playgroud)

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

干杯,

Mig*_*uel 34

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

{{ products|length }}
Run Code Online (Sandbox Code Playgroud)

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

product_count = Product.query.count()
Run Code Online (Sandbox Code Playgroud)

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

{{ product_query.count() }}
Run Code Online (Sandbox Code Playgroud)