如何在Django中创建层次化组织(树状)?
我需要在Django中创建一个组织结构,像树一样的那种。目前,我使用的是一个一对一的映射表,auth_user表里有parent_id字段,但当组织层级比较多的时候,我就得对同一个表发出多个查询,才能获取到顶层节点的子节点。
另外,我还需要根据这个结构来设置一些视图的权限。比如,一个用户可以查看自己在某个表中的记录,以及他团队里添加的记录。现在,我是先获取所有用户的列表,然后检查其中是否有用户是添加了那条记录的,接着再在视图前的装饰器中检查权限。我觉得如果能重写has_perm方法来实现这个功能会更好。
有没有更好的方法或者插件可以做到类似的事情呢?