Многоуровневый список в django models связи таблиц
Есть три поля
level_1, level_2, level_3
Каждое последующее, связано с предыдущим. Не могу понять, как выстроить эту связь в моделях.
Для поля level_1 сделал справочник, типа:
В моделях прописал:
level_1 = models.ForeignKey('DictLevel_1', on_delete=models.PROTECT, null=True, default=2)
Но не могу понять, как увязать level_2 с level_1. Чтобы, в зависимости от того, что выбрано в level_1, выбор в level_2 ограничивался. Сейчас в справочник level_2 я добавил поле id_dict_lvl1-id, которое определяет к какой категории из справочника level_1, принадлежит категория из справочника level_2.
Но как прописать это в моделях понять не могу.
Саму модель справочника level_2 объявил как:
class DictLevel_2(models.Model):
id_dict_lvl1 = models.ForeignKey('DictLevel_1', on_delete=models.PROTECT, null=True)
flow_type = models.CharField(max_length=100, db_index=True, verbose_name='Тип level_2')
В основную модель поле level_2, подключил как:
level_2 = models.ForeignKey('DictLevel_2', on_delete=models.PROTECT, null=False, default=2)
Но оно естественно выводится по id и никакой взаимосвязи с level_2 с level_1 нет.