Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 6, 2009 12:18:50

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод дерева

есть модель:

class Node(models.Model):
title=models.CharField(max_length=255)
parent=models.ForeignKey('self', null=True, blank=True)
как сделать вывод в следующем формате:
Родитель1
ребенок11
ребенок12
....
Родитель2
ребенок21
ребенок22
....
....
спасибо!



Офлайн

#2 Сен. 6, 2009 12:30:50

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

вывод дерева

Рекурсивно. Сначала выбираете всех с parent = None, а дальше для каждого выбранного ищете parent = он. Но лучше использовать не списки связности, а вложенные множества, тогда можно все дерево выгребать одним запросом. http://www.djangosnippets.org/snippets/440/



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Сен. 6, 2009 12:45:44

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод дерева

понятно что рекурсия где-то здесь должна быть.
но непонятно как сделать именно вывод всего этого в темплейт.
был бы очень и очень благодарен за пример.


но еще больше был бы благодарен за ссылку на описание мат.части списков связности и вложенных множеств.

спасибо.



Отредактировано (Сен. 6, 2009 14:27:39)

Офлайн

#4 Сен. 6, 2009 14:28:10

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод дерева

остается все таже проблема - как все это в виде дерева выводить в темплейт?


неужели никто такого не делал ????



Отредактировано (Сен. 6, 2009 17:19:28)

Офлайн

#5 Сен. 6, 2009 21:53:51

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Офлайн

#6 Сен. 7, 2009 15:22:16

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

вывод дерева

pochechyev
неужели никто такого не делал ????
Да. Вы первый во вселенной человек, выводящий древовидные структуры в шаблонах.



Офлайн

#7 Сен. 8, 2009 21:41:24

sv0
От:
Зарегистрирован: 2009-03-04
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Офлайн

#8 Сен. 11, 2009 19:37:08

pochechyev
От:
Зарегистрирован: 2008-02-29
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод дерева

Daevaorn
Да. Вы первый во вселенной человек, выводящий древовидные структуры в шаблонах.
и все же Вы решения не предложили.

slav0nic
http://docs.djangoproject.com/en/dev/re … #ifchanged
а не могли бы Вы привести пример, что-то я не совсем понимаю как данный тег использовать для вывода дерева.


спасибо



Офлайн

#9 Сен. 17, 2009 16:25:12

AlexKiriukha
От:
Зарегистрирован: 2008-02-03
Сообщения: 81
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод дерева

Хех, сегодня со схожей задачей наткнули на django-mptt, хотел отписаться в этот тред, но “всё уже сделано до нас” :-) Нужно было внимательнее тред читать и всё такое. Удивительно, как это приложение подключается и используется. Рад, что остановился на python/django :-) Просто щенячий восторг.



Офлайн

#10 Сен. 22, 2009 02:00:03

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version