2016-03-01 29 views
1

在一家網上商店中,我使用django-mptt獲得了具有多個級別的產品類別。我也有屬於一個類別的產品。mptt以樹形模型作爲外鍵的不同模型實例的數量

現在我想以可視化的分類樹是這樣的:

all(18) 
- edible (10) 
-- food (4) 
-- drink (6) 
- inedible (8) 
-- wood (3) 
-- rock (5) 

其中範圍的數字是每個類別的產品計數。

我能夠可視化類別樹。我也可以將產品數量放在類別名稱後面,但我做這件事的方式似乎效率很低。我基本上在類別模型中有一個get_number_of_products()方法,它返回一個類別的產品數量。但是這需要每次都有一個新的數據庫查詢。

解決此問題的一種方法是使用緩存,因爲我不會經常更改產品數量,但我更喜歡使用較少數據庫查詢來獲取具有產品數量的樹的方法。

回答

0

我的回答是連接到Django的奧斯卡,但你會發現它有用

{{ for tree category in tree_categories }}是一個範疇類,因此它可以通過

{{ tree_category.get_num_children }} 
讓孩子們