樣品結構類別:使用Django,MPTT只得到有項目
全部大寫:類別
混合大小寫:項目
ROOT ├── BOOKS │ ├── FICTION │ │ └── CLASSICS │ └── NON-FICTION ├── CLOTHING └── ELECTRONICS ├── LAPTOPS ├── PHONES │ ├── APPLE │ │ ├── iPhone 6 │ │ ├── iPhone 6 Plus │ │ ├── iPhone 6S │ │ └── iPhone 6S Plus │ ├── MOTOROLA │ │ ├── Moto G4 │ │ ├── Moto G4 Play │ │ ├── Moto G4 Plus │ │ └── Moto X │ └── SAMSUNG └── TABLETS └── APPLE
我想有我索引頁僅顯示「ELECTRONICS」類別。 「衣服」類別不應顯示,因爲它是空的,並且「書籍」類別不應顯示,因爲雖然它具有子類別,但子類別沒有任何項目。
同樣,「ELECTRONICS」頁面應該只顯示「PHONES」類別。 「LAPTOPS」類別不應顯示,因爲它是空的,並且「TABLETS」類別不應顯示,因爲雖然它具有子類別,但該子類別沒有任何項目。
同樣,「PHONES」頁面應該只顯示「APPLE」和「MOTOROLA」類別,因爲「SAMSUNG」類別爲空。
我已經試過了索引頁內容:
Category.objects.root_nodes().exclude(children__isnull=True)
這成功地排除了「服裝」類別,但不排除「圖書」類別。我明白爲什麼這不起作用,但我不知道該怎麼做。
我結束了去非規範化的領域。謝謝! – Nick