递归获取仅与孩子相关的孩子的所有父母

时间:2021-01-14 10:54:31

标签: django-rest-framework django-mptt

我正在使用 django mptt 并且我有一棵对象树。
例如: 一个

  • A_1
    • A_1_1
      • A_1_1_1
        • A_1_1_2
  • A_2
  • A_3
    • B_1

我试图根据特定的 id 从树中获取特定的分支,例如 A_1_1_2 的 id:

  • A_1
    • A_1_1
      • A_1_1_1
        • A_1_1_2

有可能吗?怎么样?

谢谢 模型.py

class LeveledTree(MPTTModel):
name = models.CharField(verbose_name='Name', blank=False, max_length=256, 
        null=True)
setup_name = models.ForeignKey(Setup, on_delete=models.CASCADE, 
                verbose_name='Setup name', default=None, blank=True,
                               null=True)
parent = TreeForeignKey("self", null=True, blank=True, related_name="children", 
        on_delete=models.CASCADE)

def __str__(self):
    return self.name


class ParametersTree(models.Model):
variable_name = models.CharField(max_length=50, null=True)
variable_value = models.CharField(max_length=255, null=True)
fk = models.ForeignKey(LeveledTree, on_delete=models.CASCADE, default=None, 
      related_name='parameters')

def __unicode__(self):
    return self.variable_name

0 个答案:

没有答案