class Inventory(models.Model):
...
product = models.ForeignKey('Product')
quantity = models.IntegerField(default=0)
class Order(models.Model):
...
quantity = models.IntegerField()
inventory = models.ForeignKey('Inventory')
active = models.BooleanField(default=True)
# Not considering the orders that are not active
queryset = Inventory.objects.annotate(
used=Sum('order__quantity')
).filter(product=product)
注釈付きの「使用済み」値を持つ在庫のクエリセットを取得する必要があります。「使用済み」の値は、関連するすべての注文の数量によって決定されますが、アクティブです。
編集:より正確に言うと、アクティブな注文のみの数量を合計する必要があります。