gpt4 book ai didi

组织结构图的 Django 模型结构

转载 作者:行者123 更新时间:2023-12-04 12:51:49 25 4
gpt4 key购买 nike

我需要为公司职位构建组织结构图(CTO 对 CEO 的回答,开发人员对 CTO 的回答,等等),我需要创建一个友好的 UI 来反射(reflect)这一点。 UI 部分现在不是我关心的问题,因为如果我正确构建后端,前端就会很容易。

因此,如果不使用任何花哨的模式(如图表),Position 模型的最佳结构是什么(让我在获取组织结构图时更轻松)?

到目前为止,我已经想到了类似下面的内容,但是如果我需要在组织结构图中深入 10 个级别,拥有一个指向自身的 parent 外键对我没有多大帮助。

class Position(models.Model):
name = models.CharField(max_length=100)
company = models.ForeignKey(Company) # irrelevant
level = models.PositiveSmallIntegerField() # depth level (not sure if I need this since I have parent_position)
parent_position = models.ForeignKey("self")

附言。在我的问题的前面,我想避免使用图表等,仅仅是因为我对它们的了解为零,而且时间紧迫。在这种情况下,学习和使用图表会有很大帮助吗?

最佳答案

你可以使用 django-mptt项目包。它会将您的 HR 部分组成一个树结构,并在不遍历树的情况下批量查询子树。像这样的事情应该让你开始(显然没有接近生产):

from mptt.models import MPTTModel, TreeForeignKey, TreeManager

class Organization(MPTTModel):
name = models.CharField(max_length=255, unique=True)
members = models.ManyToManyField(User)
parent = TreeForeignKey('self', related_name='children')
objects = TreeManager()

关于组织结构图的 Django 模型结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34496971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com