问题
I have 2 models, one of them has many to many relation with itself through other table like this.
class a(models.Model):
# fields
class b(models.Model):
from_a = models.ForeignKey(a)
to_a = models.ForeignKey(a)
count = models.PositiveIntegerField()
Now, what I wonder is, what is the best way of calculating sum of counts in b's where from_a is "something". This one seems trivial, but I can't figure it out.
回答1:
from django.db.models import Sum
b.objects.filter(from_a__whatever='something').aggregate(Sum('count'))
来源:https://stackoverflow.com/questions/7070917/django-sum-of-fields-in-intermediary-model-with-given-queryset