14👍
I like your idea of using Sum but making it a property. Something like this should work:
class Project(models.Model):
@property
def total_acquisition_costs(self):
return AcquisitionCost.objects.filter(item__project=self).aggregate(total=Sum("amount"))["total"]
class ProjectItem(models.Model):
@property
def total_acquisition_costs(self):
return self.acquisitioncost_set.aggregate(total=Sum("amount"))["total"]
Source:stackexchange.com