В моих моделях есть следующие коды:
class Meta(models.Model):
conta = models.ForeignKey(Conta, on_delete=models.CASCADE)
ccusto = models.ForeignKey(Ccusto, on_delete=models.CASCADE)
data = models.DateField()
valor_meta = models.DecimalField(max_digits=8, decimal_places=2)
def __str__(self):
return '%s %s %s %s %s' % (self.conta, ':',self.data.strftime("%d %m %Y"),':',self.ccusto)
class Despesa(models.Model):
conta = models.ForeignKey(Conta, on_delete=models.CASCADE)
ccusto = models.ForeignKey(Ccusto, on_delete=models.CASCADE)
data = models.DateField()
valor_despesa = models.DecimalField(max_digits=8, decimal_places=2)
chave = models.CharField(max_length=100)
def __str__(self):
return str(self.id)
И в моих представлениях следующие коды:
mes = request.POST['selectmes']
lista = Despesa.objects.filter(data__month=mes).values('conta__conta_nome','ccusto__ccusto_nome').order_by('conta__conta_nome').annotate(sum_despesa=Sum('valor_despesa'))
lista2 = Meta.objects.filter(data__month=mes).values('conta__conta_nome','ccusto__ccusto_nome').order_by('conta__conta_nome').annotate(sum_meta=Sum('valor_meta'))
Это генерирует два списка, как это:
conta_nome | ccusto | valor_despesa
и
conta_nome | ccusto | valor_meta
Но мне нужно это:
conta_nome | ccusto | valor_despesa | valor_meta
Как мне это сделать?