Делая домашнюю работу, и хотел спросить, как рассчитать line_total (имеется в виду: product.price * количество). У меня нет проблем с grand_total, но я не могу разобраться с этой проблемой.
Попытка перемещения line_total от одной модели к другой. Скажем, если это в корзине модели - он будет вычислять только итоговое значение строки для последнего элемента, очевидно.
class Cart(models.Model):
grand_total = models.DecimalField(max_digits=100, decimal_places=2, default=0.00)
class DestCart(models.Model):
cart = models.ForeignKey(Cart, on_delete=models.CASCADE, blank=True, null=True)
destination = models.ForeignKey(Destination, on_delete=models.CASCADE)
quantity = models.IntegerField(default=1)
line_total = models.DecimalField(default=0.00, max_digits=100, decimal_places=2)
views.py
for item in cart.destcart_set.all():
line_total = float(actual_price) * item.quantity
item.line_total = line_total
grand_total += line_total
cart.total = grand_total
cart.save()
{% for item in cart.destcart_set.all %}
<p>Location: {{ item.destination }}</p>
<p>Quantity: {{ item.quantity }}</p>
<p>Price: {{ item.destination.price }}</p>
<p>Line total: {{ item.line_total }}</p>
<a href="{% url 'edit_cart' item.destination.id %}?qty=0">Remove</a>
{% endfor %}
Итак, как вы понимаете, идея состоит в том, чтобы иметь отдельный столбец с итоговыми значениями строки. Приветствия за помощь, ребята. Я знаю, что это должно быть просто, но застрял навсегда. Так что еще раз спасибо!