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)

извините за длинный вопрос

ТИА

Вернуться на верх