【发布时间】:2020-11-13 03:37:18
【问题描述】:
抱歉,文字太长了
给出模型:
-
用户
-
层次结构
类层次结构(模型):
owner = OneToOneField(User) subordinates = ManyToManyField(User)
有用户,可以互相邀请。反过来,受邀者可以接受或拒绝邀请。
假设 Mark 邀请了 Masha、Katya 和 Dima。玛莎接受了马克的邀请,甚至还邀请了科利亚本人。
在一个选项卡上,您需要显示层次结构。
继续这个例子,马克应该有:
1st level: Masha, Katya, Dima
2nd level: Kolya and other guys
1st level for Mark - those whom he invited.
2nd level - those who were invited by people invited by Mark.
等等。
告诉我如何实现它 |熟悉什么才能更接近结果
【问题讨论】:
-
Stackoverflow 不是免费的编码网站。请先自己实施以证明合理的努力,如果遇到问题,请在您的初始实施到位后发布特定问题以获得进一步的帮助。
-
我总是先自己尝试,然后才寻求帮助。最好的尝试是:main_hier = Hierarchy.objects.filter(pk=id)。 values_list('subordinates', flat=True) level_hier = {} for sub in main_hier: try: hier = Hierarchy.objects.filter(pk=id)。 values_list('subordinates') 除了 Hierarchy.DoesNotExist: hier = {} level_hier[sub] = hier return level_hier
-
@H-Machine,您能否在问题部分而不是 cmets 部分发布您的代码。这样我们就可以审查您的代码并提供一些指导。