Django списки выбора, зависящие от страницы администратора в формах - PullRequest
0 голосов
/ 01 января 2019

У меня есть 4 иерархические группы для классификации товаров.Я пытаюсь изменить страницу администратора, чтобы после добавления первой и второй групп создание третьей и четвертой групп зависело от списков выбора.Проблема в том, что я не могу понять, как обновить списки выбора.Моя модель выглядит следующим образом:

   class FirstGroup(models.Model):
        first_group_definition = models.CharField(max_length=300, 
        verbose_name="First Group")

        def __str__(self):
            return self.first_group_definition


    class SecondGroup(models.Model):
        first_id = models.ForeignKey(FirstGroup, on_delete=models.PROTECT)
        second_group_definition = models.CharField(max_length=300, verbose_name="Second Group")

        def __str__(self):
            return self.second_group_definition


    class ThirdGroup(models.Model):
        first_id = models.ForeignKey(FirstGroup, on_delete=models.PROTECT)
        second_id = models.ForeignKey(SecondGroup, on_delete=models.PROTECT)
        third_group_definition = models.CharField(max_length=300, verbose_name="Third Group")

        def __str__(self):
            return self.third_group_definition


    class FourthGroup(models.Model):
        first_id = models.ForeignKey(FirstGroup, on_delete=models.PROTECT)
        second_id = models.ForeignKey(SecondGroup, on_delete=models.PROTECT)
        third_id = models.ForeignKey(ThirdGroup, on_delete=models.PROTECT)
        fourth_group_definition = models.CharField(max_length=300, verbose_name="Fourth Group")

        def __str__(self):
            return self.fourth_group_definition

Я пробовал ModelAdmin.formfield_for_foreignkey, но не смог добиться успеха.Проще говоря, на странице администратора, когда я нажимаю на кнопку добавления элемента в FourthGroup, в форме находятся 3 списка выбора, и после того, как я выберу первое поле группы, я хочу, чтобы второе поле группы было обновлено.После того как я выберу второе поле группы, связанные 3-ий группы будут присутствовать в списке 3 групп.

...