如何用(parent and children)在Django中创建子菜单?

时间:2018-09-13 20:01:46

标签: python django

我尝试用子菜单层次结构创建菜单。 我的models.py

class Category(MPTTModel):
    name = models.CharField(max_length=50, unique=True)
    parent = TreeForeignKey('self', null=True, blank=True, related_name='children', on_delete=models.CASCADE,db_index=True)
    slug = models.SlugField()

    class MPTTMeta:
        order_insertion_by = ['name']

    class Meta:
        unique_together = (('parent', 'slug',))
        verbose_name_plural = 'categories'

    def get_slug_list(self):
        try:
            ancestors = self.get_ancestors(include_self=True)
        except:
            ancestors = []
        else:
            ancestors = [ i.slug for i in ancestors]
        slugs = []
        for i in range(len(ancestors)):
            slugs.append('/'.join(ancestors[:i+1]))
        return slugs

    def __str__(self):
        return self.name

在ListView中,我有这样的查询

Category.objects.all()

现在我想在index.html主页上显示所有父对象,并在子菜单中显示每个特定父对象的子对象。我该怎么办?

0 个答案:

没有答案