Django ecommerce: не учитывает итоговую сумму - PullRequest
0 голосов
/ 21 октября 2019

Делая домашнюю работу, и хотел спросить, как рассчитать 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 %}

Итак, как вы понимаете, идея состоит в том, чтобы иметь отдельный столбец с итоговыми значениями строки. Приветствия за помощь, ребята. Я знаю, что это должно быть просто, но застрял навсегда. Так что еще раз спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...