Настройка полей выпадающих списков в Django w.r.t в соответствии с условиями

#python #django #django-forms

#python #django #django-формы

Вопрос:

У меня есть сценарий, в котором у меня есть 2 выпадающих списка, а значения вторых выпадающих списков основаны на значениях первых выпадающих списков. Например: — В соответствии с моей реализацией, записанной сейчас, это, по-видимому, 2 отдельных выпадающих списка
drop-down1_value 1
drop-down1_value 2
drop-down1_value 3

выпадающее 2_значение 1
выпадающее 2_значение 2
выпадающее 2_значение 3
выпадающее 2_значение 4

Я хочу, чтобы значение отображалось как

 выпадающее 1_значение 1 выпадающее 2_значение 1 
 выпадающий список 2_значение 2 

 выпадающее 1_значение 2 выпадающее 2_значение 3 
 выпадающее 2_значение 4 

итак, в основном значения выпадающего списка 2 зависят от значений выпадающего списка 1. Внутренне таблицы подключены, но я не могу отобразить их по мере необходимости. Это должно быть сделано что-то с формами Django в соответствии с моим исследованием, но я не могу этого сделать. Любая помощь будет действительно очень полезной.

 class ClientCheckForm(forms.ModelForm):

Check_Names = forms.ModelMultipleChoiceField(widget=CheckboxSelectMultiple,queryset=None)
Client_Name = forms.ModelChoiceField( queryset=Clients.objects.all(), initial=0)
Sub_Check_Names = forms.ModelMultipleChoiceField(widget=CheckboxSelectMultiple,queryset=None)

class Meta:
    model = Client_Check
    fields =  "__all__"
    widgets = {
        'Client_Name': forms.TextInput(attrs={'class': 'form-control'}),
        'Check_Names': forms.TextInput(attrs={'class': 'form-control'}),
        'Sub_Check_Names':forms.TextInput(attrs={'class': 'form-control'}),
       }

def __init__(self, *args, **kwargs):
    super(ClientCheckForm, self).__init__(*args, **kwargs)
    self.fields['Check_Names'].queryset = Check_Types.objects.all()
    self.fields['Client_Name'].empty_label = "Select"
    self.fields['Sub_Check_Names'].queryset = SubChecks.objects.all()
  

Комментарии:

1. Где указано условие? В вашем представлении / серверной части или при взаимодействии с пользователем во внешнем интерфейсе? Пожалуйста, поделитесь еще каким-нибудь кодом

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

Ответ №1:

Вы должны добавить событие щелчка в выпадающий список 1, а затем ваша форма снова сделает рендеринг. Или с помощью ajax вы должны заполнить выпадающий список 2.

Комментарии:

1. Эй, не могли бы вы уточнить, используя какой-нибудь пример или любые ссылки, по которым я могу следовать для реализации.