【发布时间】:2021-01-26 23:16:47
【问题描述】:
我有这 3 个模型:
class Provider(models.Model):
name = models.CharField("Provider",max_length=200)
def __str__(self):
return self.name
class Contract(models.Model):
active = models.BooleanField(default=False, verbose_name="Active?")
provider = models.ForeignKey(Provider, on_delete=models.CASCADE,verbose_name="Provider")
total_to_spent = models.IntegerField(blank=True, null=True, verbose_name="Total to spend")
def __str__(self,):
return str(self.id) + '- ' + str(self.provider)
class Invoice(models.Model):
contract = models.ForeignKey(Contract, on_delete=models.CASCADE,verbose_name="Contract",related_name='ContractObject',)
value = models.IntegerField(verbose_name="Value")
def __str__(self,):
return str(self.contract)
Contract.model 中的 total_to_spent 是我可以在该合同中花费的金额
Invoice.model 中的value 是与该发票相关的金额,然后与合同相关联
我的看法
def ServicoView(request):
contracts = Contract.objects.all()
contract_active = Contract.objects.filter(active=True)
contratos_finish = Contract.objects.filter(active=False)
//i was trying something like this
for i in contracts:
invoices= Invoice.objects.filter(contract=contract['id']).values().aggregate(total=Sum('value '))
context = {
'contract_active': contract_active,
'contratos_finish':contratos_finish,
}
return render(request, 'dashboard_servico.html', context)
在我看来,我想对与一份合同相关的所有发票(价值)进行 SUM,以便稍后与 total_to_spent 进行比较,看看它是否通过了价值或不是
【问题讨论】:
标签: django django-rest-framework django-views django-templates