web-dev-qa-db-fra.com

Flask-SQLAlchemy nombre de résultats dans la requête

Je me demandais si quelqu'un sait comment afficher le nombre de résultats d'une requête dans un modèle flask.

Exemple de code d'affichage:

products = Product.query.all()

Dans le modèle, il serait pratique de pouvoir simplement faire:

{{ products.count() }}

Existe-t-il de toute façon de le faire déjà, ou quelqu'un a-t-il un filtre écrit qui le fait?

À votre santé,

19
Ben Kilah

Votre variable de modèle products est une liste régulière. Vous pouvez utiliser le filtre length pour obtenir sa taille:

{{ products|length }}

Mais si vous travaillez avec des résultats paginés, cela vous donnera la taille d'une page. Si vous voulez la taille de la requête entière, vous devez appeler count() sur l'objet de requête. Par exemple:

product_count = Product.query.count()

Ensuite, transmettez-le au modèle comme argument supplémentaire. Ou si vous préférez, vous pouvez passer l'objet de requête au modèle et appeler count() à partir de là:

{{ product_query.count() }}
33
Miguel