python - Django 中菜单和子菜单的递归函数,直到最后一个子菜单出现

标签 python mysql django recursion

我有一个 MySQL 表模块,其中包含我的菜单和子菜单。

此外,我还创建了模块表与同一个表本身的关系,例如模块表的主键(id)是模块表本身的外键(parent_id)。现在我想要一个递归函数,它将在 Django 中以树形格式获取所有模块以及子模块。

Menu-1 +    
    Sub-menu-1
      | 
    Sub-Menu-2
      |-Sub-Menu-2.1
      |-Sub-Menu-2.2

Sub-menu-1 的parent_id 将是Menu-1 的主键,Sub-Menu-2.1 的parent_id 将是Sub-menu-1 的主键。

附件是我的表的结构

/image/tO6qH.png

我是 Python 和 Djnago 的新手。有人可以帮忙吗?如果您需要更多信息,请告诉我。

最佳答案

看来您正在重新发明轮子。我建议使用第三方包,例如 django-treebeard

这将为您提供所需的模型字段和一个简单的界面来递归它们。

关于python - Django 中菜单和子菜单的递归函数,直到最后一个子菜单出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59822971/

相关文章:

python - 解析一段文本后的另一段文本(使用 python Beautiful Soup)

php - 在表的不同字段中插入特定元素

c# - Entity Framework - 在插入和自动递增之前检查条目是否存在

python - Django SplitDateTime 小部件抛出 'list' 对象没有属性 'strip'

python - 如何检查字符串中的特定元素在python中是否相等?

python - 命令行脚本的 Cookbook GUI 界面

python - Selenium XPath 逻辑 AND 连接多个 contains() 过滤器?

mysql - mysql 5.5 x86升级到mysql 5.5 x64会出现什么问题?

php - wordpress 密码哈希如何工作?

django - django- nginx:/etc/nginx/sites-enabled/myproject中的[emerg] open() “/etc/nginx/proxy_params”失败(2:无此类文件或目录):11