如何用(父级和子级)在Django中创建子菜单?

2024-05-16 10:11:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试用子菜单层次结构创建菜单。 我的模型.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

在我的列表视图中,我有这样的查询

^{pr2}$

现在我想在索引.html然后在子菜单中为每个特定的父项指定子项。我该怎么做?在


Tags: nameinselftrueforgetmodelsdef