Позаботьтесь об этом, на ваш взгляд. Вы уже перехватываете все транзакции, с таким же успехом можете набрать total_price
затем:
views.py
def transaction(request):
total = 0
transactions = Transaction.objects.all()
for t in transactions:
total += t.total_price()
context = { 'transactions': transactions, 'total_price': total }
return render(request, 'app/transaction.html', context)
Это будет l oop через транзакции получите результат функции total_price
и добавьте его к промежуточной сумме. Вы отправляете эту сумму в контексте как total_price
и можете вызывать ее в шаблоне представления.
Еще одна вещь:
Удалите строку total_price = models.PositiveIntegerField(total_price)
- у вас уже есть функция total_price
вычисление итога, это определение поля модели, которое вам не нужно или не нужно.
Ваша модель должна выглядеть следующим образом:
class Transaction (models.Model):
items = models.ForeignKey(Items, on_delete=models.CASCADE)
qty = models.PositiveIntegerField()
def total_price(self):
total = self.qty * self.items.price
return total