如何计算每个公司的物料数量? - 查询集
How can I count item quantity per company? - queryset
class Item(models.Model):
company = models.ForeignKey(Company)
name = models.CharField(max_length=255)
quantity = models.IntegerField()
如何计算每个公司的数量?
quantity = 0
for item in queryset:
quantity += item.quantity
print quantity
如果你想计算每个公司所有项目的数量总和,你可以这样做:
Company.objects.annotate(quantity_sum=Sum('item_set__quantity'))
结果是一个查询集,其中每个对象(公司实例)都有一个属性 'quantity_sum' 表示您想要的信息。
使用django聚合on backward relationship:
for company in Company.objects.annotate(total_qty=Sum('item__quantity')):
print company, company.total_qty
请注意,您可以像往常一样在 Company
模型上使用任何过滤器。例如:
us_companies = Company.objects.filter(contry='US') \
.annotate(total_qty=Sum('item__quantity')):
class Item(models.Model):
company = models.ForeignKey(Company)
name = models.CharField(max_length=255)
quantity = models.IntegerField()
如何计算每个公司的数量?
quantity = 0
for item in queryset:
quantity += item.quantity
print quantity
如果你想计算每个公司所有项目的数量总和,你可以这样做:
Company.objects.annotate(quantity_sum=Sum('item_set__quantity'))
结果是一个查询集,其中每个对象(公司实例)都有一个属性 'quantity_sum' 表示您想要的信息。
使用django聚合on backward relationship:
for company in Company.objects.annotate(total_qty=Sum('item__quantity')):
print company, company.total_qty
请注意,您可以像往常一样在 Company
模型上使用任何过滤器。例如:
us_companies = Company.objects.filter(contry='US') \
.annotate(total_qty=Sum('item__quantity')):