0
我試圖顯示組織的層級,例如一家公司。顯示分層組的層次結構
我使用2種型號:
- Django在給定的
- 我自己的 「group_relation」 模型auth.group它看起來像這樣
代碼:
class GroupRelation(models.Model):
parent_group = models.ForeignKey(Group,
related_name="parent_group")
child_group = models.ForeignKey(Group,
related_name="child_group")
def __unicode__(self):
return '{0} - {1}'.format(self.parent_group.name, self.child_group.name)
所以我想要做的是一個函數,返回一個列表與嵌套列表等。
實施例: XY公司有8個基團,其被層疊作爲隨後
1 2
3 4 5 6
7 8
這意味着,組1和2是「頭基團」。 3和4是組1的一部分.7是組3的一部分.5和6是組2的一部分.8是組5的一部分。
現在我想要返回的是這樣的東西:
[{'id': 1, 'grps': [{'id': 3, 'grps': [{'id': 7, 'grps':[]} ]}, {'id': 4, 'grps': []} ]},
{'id': 2, 'grps': [{'id': 5, 'grps': [{'id': 8, 'grps': []}] }, {'id': 6, 'grps': []} ]} ]
在此先感謝。
關閉我的頭頂部只是遞歸'instance._meta.get_all_related_objects()'這將得到你想要的外鍵關係。 – Pythonista