#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. Эй, не могли бы вы уточнить, используя какой-нибудь пример или любые ссылки, по которым я могу следовать для реализации.