[英]Django ORM object count
考慮以下偽模型:
class BaseProduct:
quantity_available = Integer
class Box(BaseProduct):
items_in_box = Integer
>> BaseProduct.objects.count()
>> Integer
但是,如何檢索產品總數,因此:
for each object[quantity_available * items_in_box] * total_objects
我使用Simeon Visser的'sum'作為部分解決方案,在Base類中添加了一個屬性:
@property
def _box_count(self):
try:
return self.items_in_box * self.quantity_available
except AttributeError:
return self.quantity_available
sum([item._box_count for item in BaseProduct.objects.all()])
請嘗試以下操作:
sum([box.quantity_available * box.items_in_box for box in Box.objects.all()]
它檢索所有包裝盒,並為每個包裝盒計算該包裝盒的可用數量乘以該類型包裝盒中項目的數量。 最后,它將所有這些值相加,從而獲得產品總數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.