Python 使用Django构建“无限”菜单树
我有一个模型:Python 使用Django构建“无限”菜单树,python,django,recursion,django-models,django-templates,Python,Django,Recursion,Django Models,Django Templates,我有一个模型: menuName = models.CharField(max_length=50) menuAlias = models.CharField(max_length=50, unique=True, validators=[aliasvalidator]) published = models.BooleanField() parentId = models.IntegerField() 并希望构建一个模板,其中包含每个条目具有无限父子关系的菜单,其中第一级元素的父id
menuName = models.CharField(max_length=50)
menuAlias = models.CharField(max_length=50, unique=True, validators=[aliasvalidator])
published = models.BooleanField()
parentId = models.IntegerField()
并希望构建一个模板,其中包含每个条目具有无限父子关系的菜单,其中第一级元素的父id为0。因此,我可以构建任何我想要的html菜单树。不要再发明轮子;使用专用的Django扩展来构建树结构。有几个软件包可以实现一个 其中最主要的是,;这将使您的菜单构建更加简单和高效:
from django.db import models
from mptt.models import MPTTModel, TreeForeignKey
class Menu(MPTTModel):
menuName = models.CharField(max_length=50)
menuAlias = models.CharField(max_length=50, unique=True, validators=[aliasvalidator])
published = models.BooleanField()
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True)