Добрый день
Подскажите пожалуйста какой-нибудь красивый способ вывода древовидной структуры в 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 не подойдет).
Огромное спасибо за любую помощь!