Создал 2 модели, одна зависит от другой, при чем вторая, это иерархический справочник, а первая список владельцев элементов иерархического справочника.
class Constructor(models.Model): # это наши владельцы
title = models.CharField(max_length=120)
def __unicode__(self):
return self.title
class Section(MPTTModel): # а это наш иерархический справочник
title = models.CharField(max_length=120)
owner = models.ForeignKey(Constructor, parent_link=True) # связь с владельцем
parent = TreeForeignKey('self', null=True, blank=True, related_name='children',
db_index=True) # это поле от библиотеки django-mptt
def __unicode__(self):
return self.title
Для отображения дерева использую библиотеку
github.com/django-mptt/django-mptt есть еще библиотека для выбора значений в связанных списках
https://github.com/digi604/django-smart-selects, но моих знаний явно пока не достаточно, чтобы их скрестить. Уже второй вечер бьюсь. Т.к. добавлять данные в базу уже проблематично. Помогите кто чем сможет, если кто знает как сделать. Пример вывода дерева можно посмотреть тут:
practice.keyfire.ru/ideator/constructor/14 на закладке "Состав". Добавлять новые элементы этого справочника через админку уже нереально:
Нужно сделать отбор по владельцу, тогда можно будет продолжить.