这些是我的模特:
class Group1(models.Model):
group_name = models.CharField(max_length=32)
master = models.ForeignKey("self",on_delete=models.CASCADE,related_name='master_group',null=True)
class Ledger1(models.Model):
name = models.CharField(max_length=32)
group1_name = models.ForeignKey(Group1,on_delete=models.CASCADE,null=True,related_name='ledgergroups')
closing_balance = models.DecimalField(default=0.00,max_digits=20,decimal_places=2,blank=True)
class Journal(models.Model):
date = models.DateField(default=datetime.date.today)
by = models.ForeignKey(Ledger1,on_delete=models.CASCADE,related_name='Debitledgers')
to = models.ForeignKey(Ledger1,on_delete=models.CASCADE,related_name='Creditledgers')
debit = models.DecimalField(max_digits=20,decimal_places=2,null=True)
credit = models.DecimalField(max_digits=20,decimal_places=2,null=True)
如您所见,Group1
模型已连接到Ledger1
模型,而该模型进一步连接到Journal
模型。
我想在django视图中进行查询,它将根据closing_balance
的通过日期计算每个Group
的{{1}}。
我尝试了以下方法:
Journal
group_closing = Group1.objects.filter(ledgergroups__Debitledgers__date__gte=Start_date,ledgergroups__Debitledgers__date__lt=End_date).aggregate(the_sum=Coalesce(Sum('ledgergroups__Closing_balance'), Value(0)))['the_sum']
和Start_date
包含一些用于测试目的的日期。
但是结果显示为None ..
任何人都可以告诉我查询中有什么问题。
谢谢