Djnago Группа CheckboxSelectMultiple

Я хочу создать зависимые поля выбора. Например, если я выберу PROCEEDING_CHOICES[0][1] модели Card, я не смогу выбрать ни один из вариантов поля first_dispute. Другая ситуация: если я выбираю CHOICES[1][1] из модели FirstDispute, я не могу продолжить работу с полем second1_dispute. Как это реализовать?

models.py

class FirstDispute(models.Model):
    CHOICES=(
    ('1', '01 О заключении, изменении и расторжении договоров'),
    ('2', '02 О недействительности сделок'),
    ('3', '03 О неисполнении или ненадлежащем исполнении обязательств по договорам'),
     ...
    )
    value = models.CharField("Категория спора (подкатегория 1):", max_length=122, choices=CHOICES, default=CHOICES[0][1])
    def __str__(self):
        return self.value 


class Card(models.Model): 
    PROCEEDING_CHOICES =(
        ('Административное', 'Административное'), 
        ('Интеллектуальное', 'Интеллектуальное'), 
        ('Экономическое', 'Экономическое'),
    )

    SECOND1_DISPUTE = (
            ('None', 'Выбирается при значения "Подкатегория 1" - "01 О заключении, изменении и расторжении договоров"'),
            ('01.01 о понуждении к заключению договора', '01.01 о понуждении к заключению договора'), 
         ...
            )
   
    proceeding = models.CharField("Вид судопроизводства:", max_length=16, choices=PROCEEDING_CHOICES, default=PROCEEDING_CHOICES[0][1])
    first_dispute = models.ManyToManyField(FirstDispute) 
    second1_dispute = models.CharField("Категория спора (подкатегория 2-1)", max_length=122, choices=SECOND1_DISPUTE, blank=True, null=True)
   
   

filters.py

class CardFilter(django_filters.FilterSet):
        proceeding = django_filters.MultipleChoiceFilter(choices=Card.PROCEEDING_CHOICES, label="Вид судопроизводства (выберите подходящее значение)", widget=forms.CheckboxSelectMultiple())
        first_dispute = django_filters.MultipleChoiceFilter(choices=FirstDispute.CHOICES, label="Первая подкатегория спора (выберите подходящее значение)", widget=(forms.CheckboxSelectMultiple()))
        second1_dispute = django_filters.MultipleChoiceFilter(choices=Card.SECOND1_DISPUTE, label="Вторая (1) подкатегория спора (выберите подходящее значение)", widget=(forms.SelectMultiple()))
        class Meta: 
            model = Card
            fields = [ 'first_dispute']
Вернуться на верх