web-dev-qa-db-fra.com

Comment faire des maths dans un modèle Django?

Je veux faire ça:

100 - {{ object.article.rating_score }} 

Ainsi, par exemple, la sortie serait 20 si {{ object.article.rating_score }} égalait 80.

Comment puis-je faire cela au niveau du modèle? Je n'ai pas accès au code Python.

96
Tommy

Vous pouvez utiliser le filtre add :

{{ object.article.rating_score|add:"-100" }}
139
Daniel Roseman

Utilisez Django-mathfilters . En plus du filtre d'ajout intégré, il fournit des filtres pour soustraire, multiplier, diviser et prendre la valeur absolue.

Pour l'exemple spécifique ci-dessus, vous utiliseriez {{ 100|sub:object.article.rating_score }}.

29
Erik

En règle générale, il est recommandé de faire ce calcul à votre avis. Sinon, vous pouvez utiliser le filtre d'ajout.

18
bdd