Я использую приложение django-mptt
в своем проекте.Позвольте мне попытаться объяснить проблему.
views.py:
user_profile = Profile.objects.get(user=self.request.user)
referrals = user_profile.get_descendants().filter(level__lte=profile.level + 3)
С помощью следующего кода я показываю потомков текущего пользователя (только 3 уровня)и хочу знать уровень каждого ребенка по отношению к родителю.Фактически в базе данных у этого пользователя может быть дочерний элемент с уровнем более 3.
В шаблоне пользователь A имеет следующее дерево с 3 уровнями
user A
user B (level 1)
user C (level 2)
user D (level 3)
Фактически в dababase пользователь A имеет дерево более чем3 уровень как видите.В моем случае это 5.
user A
user B (level 1)
user C (level 2)
user D (level 3)
user E (level 4)
user F (level 5)
Теперь, когда пользователь D открывает свою страницу в шаблоне, он видит своих потомков:
user D
user E
user F
Я хочу знать уровень пользователя E и F относительнопользователю D. Как это сделать?
Я пробовал в views.py :
for referral in referrals:
print(referral.level)
Этот код возвращает мне уровень 4 для пользователя E и уровень 5 дляпользователю F.