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