私は次のような2つのモデルを持っています:
class Company(models.Model):
raising = models.DecimalField()
class Investment(models.Model):
company = models.ForeignKey(Company)
amount = models.DecimalField()
今、累積投資額が以下のすべての企業を見つけたいraising
投資額を集計する Company という名前の動的プロパティを追加するとraised_so_far
、次のようになります。
Company.objects.filter(raised_so_far__lt=F('raising'))
ただし、フィルタリングは SQL レベルで行われるため、それは不可能です。
これまでのところ、これは私の最善の試みです:
Company.objects.filter(raising__gt=Investment.objects.filter(company=F(outer_company_object)).aggregate(Sum('amount'))['amount__sum'] or 0)
親オブジェクトを使用して外部キーの集計をフィルタリングするにはどうすればよいですか?