0
考慮這些僞模式:Django的ORM對象計數
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
解決方法:
我使用西面維瑟的「總和'作爲部分解決方案,將屬性添加到基類:
@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()])
我不明白。你在找盒子的總數,還是總數? 「items_in_box」和「quantity_available」如何相關? – 2012-03-29 14:16:27
如何管理數據庫中從'BaseProduct'到'Box'的繼承?您是否使用文檔中列出的方法之一? https://docs.djangoproject.com/zh/dev/topics/db/models/#model-inheritance – 2012-03-29 14:20:10
BaseProduct有一個quantity_available字段(整數)。 Box是來自BaseProduct的繼承,Box也可以容納X產品。假設你賣傘,每件和每箱。我想要傘的總存量 – 2012-03-29 14:22:29