pochechyev
Сен. 6, 2009 12:18:50
есть модель:
class Node(models.Model):
title=models.CharField(max_length=255)
parent=models.ForeignKey('self', null=True, blank=True)
как сделать вывод в следующем формате:
Родитель1
ребенок11
ребенок12
....
Родитель2
ребенок21
ребенок22
....
....
спасибо!
PooH
Сен. 6, 2009 12:30:50
Рекурсивно. Сначала выбираете всех с parent = None, а дальше для каждого выбранного ищете parent = он. Но лучше использовать не списки связности, а вложенные множества, тогда можно все дерево выгребать одним запросом.
http://www.djangosnippets.org/snippets/440/
pochechyev
Сен. 6, 2009 12:45:44
понятно что рекурсия где-то здесь должна быть.
но непонятно как сделать именно вывод всего этого в темплейт.
был бы очень и очень благодарен за пример.
но еще больше был бы благодарен за ссылку на описание мат.части списков связности и вложенных множеств.
спасибо.
pochechyev
Сен. 6, 2009 14:28:10
остается все таже проблема - как все это в виде дерева выводить в темплейт?
неужели никто такого не делал ????
Александр Кошелев
Сен. 7, 2009 15:22:16
pochechyev
неужели никто такого не делал ????
Да. Вы первый во вселенной человек, выводящий древовидные структуры в шаблонах.
pochechyev
Сен. 11, 2009 19:37:08
Daevaorn
Да. Вы первый во вселенной человек, выводящий древовидные структуры в шаблонах.
и все же Вы решения не предложили.
slav0nic
http://docs.djangoproject.com/en/dev/re … #ifchanged
а не могли бы Вы привести пример, что-то я не совсем понимаю как данный тег использовать для вывода дерева.
спасибо
AlexKiriukha
Сен. 17, 2009 16:25:12
Хех, сегодня со схожей задачей наткнули на django-mptt, хотел отписаться в этот тред, но “всё уже сделано до нас” :-) Нужно было внимательнее тред читать и всё такое. Удивительно, как это приложение подключается и используется. Рад, что остановился на python/django :-) Просто щенячий восторг.