首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django -管理树结构

Django -管理树结构
EN

Stack Overflow用户
提问于 2011-01-21 04:39:33
回答 1查看 2.1K关注 0票数 2

我将Django与以下(简化)模型一起使用:

代码语言:javascript
复制
class Entity(models.Model):
    name = models.CharField(max_length=30)

class Person(models.Model):
    last_name = models.CharField(max_length=30)
    first_name = models.CharField(max_length=30)
    entity = models.ForeignKey(Entity)

我想将层次结构功能添加到实体模型(通过扩展,添加到Person)。

问:考虑到我更喜欢系统稳定性和易维护性,而不是尖叫-快速查询速度(尽管跨大约2000个叶和节点实体的不可接受的查询速度会很差),您推荐哪种实现?

1)将层次结构树实现为SQL数据库中的嵌套集合,以便通过正常的字段操作进行访问;或者

2)在Django外部实现层次结构树作为常规Python树(例如Node类),通过Django模型方法访问层次结构信息?

谢谢,

麦克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-21 06:00:48

我不认为你的替代方案真的是相互排斥的--你最终做的任何事情都会有一些数据库和一些非数据库元素。

我是修改的前序树遍历算法及其出色的Django实现django-mptt的铁杆粉丝。

但是,如果您对嵌套集很感兴趣,那么可以看看django-treebeard,它提供了邻接表和物化路径。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4752313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档