[英]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.