Я бы посоветовал не выполнять вычисления на внешнем интерфейсе и отправлять данные на сервер (если вам не нужно показывать значение opening
пользователю).
Вместо этого вам следуетвычислите значение opening
при сохранении в вашей модели Stockdata
django, просто переопределив метод save
.Это было показано ниже.
class Stockdata(models.Model):
quantity = models.PositiveIntegerField(null=True,blank=True)
rate = models.DecimalField(max_digits=10,decimal_places=2,default=0.00)
opening = models.DecimalField(max_digits=10,decimal_places=2,default=0.00)
stock_name = models.CharField(max_length=32)
# you override the save method and calculate for opening
def save(self, *args, **kwargs):
self.opening = self.quantity * self.rate;
super(Stockdata, self).save(*args, **kwargs)
NB Если вам все еще нужно показывать пользователю начальное значение при вводе количественного значения и значения ставки, вам нужно будет сделать некоторыеизменения в вашем скрипте:
<script type="text/javascript">
$(document).ready(function() {
$('#id_Quantity').keyup(function() {
var rate = parseFloat($('#id_rate').val());
var quantity = parseInt($(this).val(), 10);
$('#id_opening').text(rate * quantity);
});
});
</script>
Тогда ваш HTML-раздел будет:
<form method="POST">
<div class="form-group row">
<label class="col-lg-2 col-form-label">Stock Name<i class="material-icons"
style="font-size:16px;color:red">*</i></label>
<div class="col-lg-10">
{{ form.stock_name.errors }}
{{ form.stock_name }}
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label">Quantity<i class="material-icons"
style="font-size:16px;color:red">*</i></label>
<div class="col-lg-10">
{{ form.Quantity.errors }}
{{ form.Quantity }}
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label">Rate<i class="material-icons" style="font-size:16px;color:red">*</i></label>
<div class="col-lg-10">
{{ form.rate.errors }}
{{ form.rate }}
</div>
</div>
<div class="form-group row">
<label class="col-lg-2 col-form-label">Opening Balance<i class="material-icons"
style="font-size:16px;color:red">*</i></label>
<div class="col-lg-10">
<!-- opening value will be displayed here -->
<label id="id_opening"></label>
</div>
</div>
</form>