DetalView get_context_data в ListView
У меня немного длинный вопрос. Я пишу бухгалтерскую систему на django
У меня есть модель для поставщика следующим образом
class Supplier(models.Model):
supplier_name = models.CharField(max_length=50)
supplier_number = models.IntegerField()
def __str__(self):
return self.supplier_name
а также модель расходов как
class Expense(models.Model):
invoice_number = models.CharField(max_length=50)
invoice_date = models.DateField()
supplier_name = models.ForeignKey(Supplier, on_delete=models.CASCADE, related_name='expenses')
description = models.CharField(max_length=100)
def amt_excl_vat(self):
if self.supplier_name.intra_community is None:
vat_amount = (Decimal(self.expense_vat.vat_rate)/100)/(1+(Decimal(self.expense_vat.vat_rate)/100))*self.amt_incl_vat
amt_excl_vat = self.amt_incl_vat - vat_amount
else:
vat_amount = 0
amt_excl_vat = self.amt_incl_vat - vat_amount
return amt_excl_vat
в моем SupplierDetailView(DetailView)
я вычислил некоторые значения в def get_context_data
как
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
pk = self.kwargs["pk"]
supplier = get_object_or_404(Supplier, pk=pk)
expenses = supplier.expenses.all()
expenditure_ex = 0
for item in expenses:
expenditure_ex += item.amt_excl_vat()
context['expenditure_ex'] = expenditure_ex
return context
результаты дают мне правильные значения. Я хочу получить значение expenditure_ex
в SupplierListView(ListView)
извините за длинный вопрос
ТИА