0
的所有模型實例我有一個層次結構如下所示:Django的:獲取頂級類別
Parent Cat
Sub Cat
Item
Sub Cat
Item
Item
Parent Cat
...
,其命名爲一個父類的/比如我想獲得它涉及到所有的項目父母的貓。我目前正在使用Django-Categories,它使用Django-MTPP,但我無法弄清楚如何在沒有自己構建for循環的情況下做到這一點。認爲這些軟件包的全部重點都是這樣,我不會那麼做。
我的模式是這樣的:
class Item(models.Model):
title = models.TextField() # `null` and `blank` are false by default
category = models.ForeignKey('ProductCategory')
price = ....
def __unicode__(self): # Python 3: def __str__(self):
return self.title
from categories.models import CategoryBase
class ProductCategory(CategoryBase):
class Meta:
verbose_name_plural = 'simple categories'
我試着這樣做:
parent_category = ProductCategory.objects.get(slug=parent_cat, parent=None)
items = parent_category.item_set.all()
但是,這不會產生任何結果。
這是我嘗試的第一件事,並沒有產生任何結果。我假設,因爲類別設置爲子類別,而不是父類別 – KingFu
@KingFu從你的代碼,我會說相反:你的類別設置爲父類:)我沒有Django類別的經驗,但你可以嘗試'items = Item.objects.filter(category__parent = parent_category)'。如果有效,我會更新答案 – Germano
啊完美的作品!雖然我不確定雙下劃線是如何工作的,但是'category__parent = parent_category'基本上說'如果類別是父類== parent_category'?你能否更新你的答案,我會接受它,謝謝 – KingFu