【发布时间】:2019-11-18 04:52:17
【问题描述】:
我有以下型号:
class Group(models.Model):
group_name = models.CharField(max_length=32)
class Ledger(models.Model):
ledger_name = models.CharField(max_length=32)
group_name = models.ForeignKey(Group,on_delete=models.CASCADE,null=True,related_name='ledgergroups')
class Journal(models.Model):
By = models.ForeignKey(Ledger,on_delete=models.CASCADE,related_name='Debitledgers')
To = models.ForeignKey(Ledger,on_delete=models.CASCADE,related_name='Creditledgers')
Debit = models.DecimalField(max_digits=20,decimal_places=2,default=0)
Credit = models.DecimalField(max_digits=20,decimal_places=2,default=0)
如您所见,Journal 模型与 Ledger 模型相关,Foreignkey 关系与Group 模型进一步相关。
我的场景有点复杂。
我想过滤Group 对象及其余额(余额是它们的总Debit 和它们的总Credit 之间的差)。
我想过滤总组名称和总Debit和总Credit的减法..(Debit和Credit是Journal模型的字段) .
谁能帮我弄清楚以上问题。
我之前在Django 中尝试过Subqueries,但还没有在Django 中完成两步Subquery。
任何解决方案都会有所帮助。
谢谢
【问题讨论】:
-
请添加示例数据和所需的输出。