У меня возникли проблемы с поиском способа печати вычисленных данных в шаблон. Я постараюсь лучше описать свою ситуацию. У меня есть модель под названием дивиденд:печать вычисленных данных в шаблоне
class Dividend(models.Model):
date = models.DateField('pay date')
amount = models.FloatField(validators=[MinValueValidator(0.001), MaxValueValidator(1000000000000000.0)])
price = models.FloatField('price per share',
validators=[MinValueValidator(0.001), MaxValueValidator(1000000000000000.0)])
таблица данных дивидендов выглядит следующим образом:
Date Dividend Price
Sept. 26, 2013 $0.8 $24.75
June 26, 2013 $0.7 $24.74
March 26, 2013 $0.6 $23.59
Dec. 13, 2012 $0.4 $19.18
Sept. 26, 2012 $0.1 $20.66
Я хочу добавить процент того, как был поднят каждый дивидендов (если он был). Так что-то вроде этого:
Date Dividend Price
Sept. 26, 2013 $0.8 (+12,5%) $24.75
June 26, 2013 $0.7 (+14,28%) $24.74
March 26, 2013 $0.6 (+50%) $23.59
Dec. 13, 2012 $0.4 (+300%) $19.18
Sept. 26, 2012 $0.1 $20.66
Как это сделать? У меня есть данные в списке, потому что я добавляю некоторые дивиденды, которые я не хочу вставлять в db. Поэтому у меня есть список объектов дивидендов. В принципе, я хотел бы рассчитать это процентное изменение в представлении и добавить его в качестве другого параметра для каждого дивиденда.
for dividend in dividend_list:
dividend.change = ...calculation...
и чем просто добавить его в моем шаблоне
{% for dividend in stock.dividend_set.all|order_by:"date" %}
<tr>
<td>{{ dividend.date }}</td>
<td>${{ dividend.amount }} ({{ dividend.change }}%)</td>
<td>${{ dividend.price }}</td>
</tr>
{% endfor %}
Но я не могу это сделать, потому что нет никаких изменений модели поля в дивидендах. Я храню в новом QueryDict, где ключ будет divend.id и изменение процентного значения. Но я не могу сделать query_dict [divend.id] в шаблоне. Итак, каков наилучший способ сделать это? Прошу прощения за такой тривиальный вопрос, но я не знаю, что искать. Извините за неудовлетворительное название, я изменю его, если придумаю что-нибудь более описательное после ваших ответов.
Thank! Извините, я использовал данные базы данных в шаблоне. Такая глупая ошибка. Спасибо за совет DecimalField, я понял слишком поздно, и я ленив, чтобы переписать его сейчас. Но так как ты это указал, я тоже. – Lucas03