Antes de marcar como duplicadas muchas otras preguntas sobre SO, lea. Tengo tres campos, Credit Available , Credit Limit de Credit Balance de crédito. Obtengo los valores de Credit Limit y Credit Balance de crédito de mi base de datos. Para mostrar Credit Available , quiero hacer Credit Limit de Credit Balance de crédito. Intenté hacer esto desde otras respuestas en stackoverflow, pero no funcionaron
<tr> <td style="text-align:center">{{ credit.credit_limit|add:"-{{credit.credit_balance}}" }}</td> <td align="center">{{ credit.credit_limit}}</td> <td align="center">{{ credit.credit_balance }}</td> </tr>¿Puedo hacer esto sin escribir nuevas etiquetas de plantilla o usar el módulo de filtro matemático?
La sintaxis correcta para agregar el límite al saldo es
{{ credit.credit_limit|add:credit.credit_balance }}según https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#add . Desafortunadamente, poner un signo menos delante de una variable no funcionará para hacerla negativa.
Podría usar un filtro de plantilla personalizado , que sería bastante sencillo. Podría verse así:
@register.filter(name='subtract') def subtract(value, arg): return value - argEntonces en tu plantilla (después de cargarla) sería:
{{ credit.credit_limit|subtract:credit.credit_balance }}Hay una forma alternativa como traté de explicar aquí:
Resta de variables en plantillas de django.
Estoy seguro de que este método también se puede aplicar a su pregunta.
Estoy bastante seguro de que es mejor ir con un asistente de plantilla personalizado de todos modos. Tampoco está mal agregar el valor calculado a su vista/modelo imo.
Espero que esto ayude..