Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flask SQLAlchemy查询中的结果数_Flask_Flask Sqlalchemy - Fatal编程技术网

Flask SQLAlchemy查询中的结果数

Flask SQLAlchemy查询中的结果数,flask,flask-sqlalchemy,Flask,Flask Sqlalchemy,我想知道是否有人知道如何在flask模板中输出查询结果的数量 示例视图代码: products = Product.query.all() 在模板中,可以方便地执行以下操作: {{ products.count() }} 是否已经有这样做的方法,或者是否有人编写了这样做的过滤器 干杯,您的产品模板变量是一个常规列表。您可以使用length过滤器获取其大小: {{ products|length }} 但是如果您正在处理分页结果,那么这将为您提供一页大小。如果需要整个查询的大小,则必须对查询

我想知道是否有人知道如何在flask模板中输出查询结果的数量

示例视图代码:

products = Product.query.all()
在模板中,可以方便地执行以下操作:

{{ products.count() }}
是否已经有这样做的方法,或者是否有人编写了这样做的过滤器


干杯,

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

{{ products|length }}
但是如果您正在处理分页结果,那么这将为您提供一页大小。如果需要整个查询的大小,则必须对查询对象调用
count()
。例如:

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

{{ product_query.count() }}
您可以使用
len(产品)

这是standart python函数,适用于我

cheers,我编写了一个过滤器,在查询也是None类型的情况下处理它。Count触发SQL查询,是的。但是当表很大时,这个解决方案非常慢,有没有其他方法获取计数?获取计数通常非常有效。由于不确定使用的是什么数据库,所有主要数据库实际上都可以从表索引中执行此操作,而不必逐个计算项。只有在调用.all()方法以列表形式返回查询结果时,此方法才有效。