Flask-SQLAlchemy 查询结果数

标签 flask flask-sqlalchemy

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

示例 View 代码:

products = Product.query.all()

在模板中,能够很方便地执行以下操作:
{{ products.count() }}

无论如何已经这样做了,或者是否有人编写了一个过滤器来做到这一点?

干杯,

最佳答案

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

{{ products|length }}

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

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

关于Flask-SQLAlchemy 查询结果数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20041277/

相关文章:

python - @login_required 不是重定向flask-login

flask - Flask-Login 的 `remember_me` 是否覆盖 Flask 的 `permanent` ?

python - SQLAlchemy 初始化开销较高

python - 如何在 SQLAlchemy 中按多对多关系的计数排序?

python - 在 URL 字符串中传递日期时间参数

python - Flask-SqlAlchemy 邻接列表关系 backfref 意外错误

python - 当客户端部分生成表单时,如何进行 Flask WTForms 表单验证

python - 大内存 Python 后台作业

JavaScript 使用 Jinja 模板中呈现的数据引发 SyntaxError

python - 覆盖 Flask 管理员在表中保存新行