我的数据库中有此表,我想在wabpage上填充数据。
parent_topic child_topic
4 5
4 6
4 7
5 8
5 9
5 11
5 11
5 13
12 14
13 15
8 16
8 17
8 18
16 19
9 20
20 21
9 22
9 23
6 24
25 25
24 26
6 27
24 25
25 21
我正在使用python。我应该使用哪种算法来填充此表。格式如下:
主题一(没有父母的话题)
依此类推...(子主题根据表格排列)。
我试图使用嵌套字典,但是无法创建此类字典。
提前致谢。
我强烈建议您阅读此博客,在数据库中存储分层数据。
该博客详细介绍了行业中用于在关系数据库中存储层次结构数据的两种主要方法:邻接表模型和改进的预排序树遍历算法。
邻接列表模型方法是数据库使用的一种方法。您从顶部节点通过递归来迭代树。在许多情况下,人们不希望或无法将所有数据加载到内存中,因此每个节点上的迭代将对新的SQL查询进行分类。这是邻接表方法的最大缺点。
django-treebeard是一个库,该库基于Django框架的Adjacency List实现有效的树实现。以为您可能不使用Django,您仍然可以从Django中学到很多东西。
当对树的读取次数大于对树的更改次数时(通常对于网站而言这是正确的),修改后的预排序树遍历算法方法会更有效(因此,对于网站而言,这是正确的),因此它比邻接表方法更受欢迎。
django的改进的预排序树遍历算法也有很好的实现:django-mptt
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句