Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » красивый вывод древовидного каталога django [RSS Feed]

#1 Янв. 10, 2015 14:11:50

scurramalum
Зарегистрирован: 2014-07-22
Сообщения: 38
Репутация: +  1  -
Профиль   Отправить e-mail  

красивый вывод древовидного каталога django

Добрый день
Подскажите пожалуйста какой-нибудь красивый способ вывода древовидной структуры в django.

есть модель:

class 
class Category(models.Model):
    id = models.BinaryField(primary_key=True, null=False, db_column='_IDRRef', max_length=150)
    code = models.CharField(db_column='_Code', max_length=7)
    description = models.CharField(db_column='_Description', max_length=150)
    parentID = models.ForeignKey('self', db_column='_ParentIDRRef')

Здесь все разделы каталога, если они являются главными, то установлено значение parentID 0х00, если они являются вложенными в какой-либо раздел - то в parentID ссылка на другой объект этой же таблицы.

Как делал я:
получал весь каталог, который является главным (со значение 0х00), затем для каждого из них искал в базе дочерний, и для дочернего искал еще дочерний…в итоге получается слишком много запросов в БД.
Метод select_related не работает (хотел получить все связные элементы за 1 раз, видимо не работает по причине значений 0x00 в бд, уже создавал здесь тему по этому поводу).
И вообще в какую структуру лучше преобразовать данные (если это надо сделать), чтобы их проще было вывести в шаблоне (при этом необходимо влиять на то, что выводится, так что способ unordered_list не подойдет).

Огромное спасибо за любую помощь!

Офлайн

#2 Янв. 10, 2015 14:21:47

GreyZmeem
От: Киев
Зарегистрирован: 2013-12-03
Сообщения: 147
Репутация: +  34  -
Профиль   Отправить e-mail  

красивый вывод древовидного каталога django

Попробуйте использовать django-mptt.
Вот тут есть пример как им пользоваться.

Офлайн

  • Начало
  • » Django
  • » красивый вывод древовидного каталога django[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version