- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用的是 Django/Python,但这里绝对可以接受伪代码。
使用一些已经存在的模型,我有 Employee
,每个都有一个 Supervisor
,这本质上是与另一个 Employee< 的外键类型关系
。
员工/主管层次结构是这样的:
任何给定的员工都有一名主管。该主管可能在“下属”有一名或多名员工,并且也有他/她自己的主管。检索我的“上线”应该返回我的主管、他的主管、她的主管等,直到找到没有主管的员工。
无需疯狂安装新应用程序来管理这些关系,因为这是一个现有的代码库和项目,我想知道实现以下功能的“pythonic”或正确方法:
def get_upline(employee):
# Get a flat list of Employee objects that are
# 'supervisors' to eachother, starting with
# the given Employee.
pass
def get_downline(employee):
# Starting with the given Employee, find and
# return a flat list of all other Employees
# that are "below".
pass
我觉得使用 Django ORM 可能有一种简单的方法来执行此操作,但如果没有,我会采纳任何建议。
我还没有彻底检查过 Django-MPTT,但如果我能保持模型完好无损,并且只是获得更多功能,那将是值得的。
最佳答案
您无需修改模型即可使用 django-mptt;你只需要在你的模型上创建一个 parent
字段,当你注册你的模型时,django-mptt 会自动为 mptt 创建所有其他属性:mptt.register(MyModel)
.
不过,如果您只需要“上线”层次结构,则不需要嵌套集。更大的性能问题是走向相反的方向并收集例如。 children/leaves 等,这使得有必要在嵌套集合模型上工作!
关于python - Parent/Child(ren) Hierarchy/"Nested Sets", 在 Python/Django 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143898/
我最近开始使用 ViewChildren and ContentChildren在 Angular 2 中,但现在想知道这些是否也可以在没有 TypeScript 注释的情况下在 ES6 中使用。 T
好的,我知道 REN 命令的典型格式 REN source dest 并且有几个使用通配符重命名的示例。 例子: REN *.txt *.doc 这会将您所有的 .txt 文件重命名为 .doc。嗯,
我决定重命名目录的最简单方法是使用 Exec 在 Windows 中通过 REN 命令。但是,它不起作用。程序运行成功,但不执行任何操作。下面是我正在尝试做的基本上。 OutFile "test.ex
如果可能的话,我正在尝试仅使用 Windows cmd 行针对此问题提出解决方案。 我有一系列如下所示的文件, [sometexthere233] Tv episode 1 [sometexther
我在尝试从批处理文件创建批处理文件时遇到问题: test.bat: echo set "newname=%%newname%: =%%" >> batchfile.bat echo set "newn
我想重命名子目录中的文件,文件名的已知部分是“.log”。当我尝试类似下面的操作时 ren 子目录\*.log* file2.txt 或 ren .\subdirectory\*.log* file2
我正在尝试更改“summary-SUCCESS.txt”或“summary-FAILED.txt”的文件名以将文本添加到文件名的前面,例如: “Name1-summary-SUCCESS.txt” “
我有一堆格式如下的文件 filename-!#.ext 其中 # 是一个递增的数字,以防止冲突。我只想删除!从文件名,所以它读为 filename-#.ext 似乎我可以使用 ren 命令和通配符来做
我已经想出了如何使用 REN 来编辑批量文件在 Windows 7 命令提示符中。但是,这一次,我试图为所有文件添加前缀,但我无法做到。所有文件都是 tif 文件。 例如,文件位于 C:\Users\
我正在使用 C# 语言构建控制台应用程序。我的目标是我必须构建一个自定义命令,如“do pfizer.text”,它会在桌面上创建一个文件“phizer.text”。 我知道我可以使用现有命令执行此操
我正在使用 experimental Ren-C implementation Rebol3。我无法理解这个错误: f: func [x /local y][ emit: func [x] [
我有一个组件,根据传递给它的 props,呈现不同的子组件。 我正在使用 jestjs 进行测试,我想断言“父”组件根据父组件中传递的 props 渲染适当的子组件。 简化的代码片段: 父组件 imp
我使用的是 Django/Python,但这里绝对可以接受伪代码。 使用一些已经存在的模型,我有 Employee,每个都有一个 Supervisor,这本质上是与另一个 Employee< 的外键类
我正在努力: 在文本文件中列出子文件夹中每个文件夹的内容, 将文本文件放在父文件夹和子文件夹中, 将输出文本文件重命名为父文件夹/子文件夹的名称。 为了实现这一点,我尝试了以下批处理脚本 del /s
我是一名优秀的程序员,十分优秀!