У меня есть BooleanField, который при определенных условиях должен быть отключен.
Как я могу отправить ввод, даже если он отключен
отправка формы в первый раз
вторая форма отправки , игнорирующая отключенное логическое поле
views.py
def test(request):
form = InformationForm()
test_table = TestTable.objects.get(id=1)
result = ''
if test_table.status == True:
result = True
form.fields['agree'].initial = True
form.fields['agree'].widget.attrs['disabled'] = True
# form.fields['agree'].widget.attrs={'onclick': 'return false','style':'opacity: 0.4 !important'}
if request.method == "POST":
post_form = InformationForm(request.POST)
result = post_form['agree'].value()
text = post_form['text'].value()
if post_form['agree'].value() == True:
t = TestTable.objects.filter(id=1).first()
t.status = 1
t.save()
post_form.fields['agree'].initial = True
post_form.fields['agree'].widget.attrs['disabled'] = True
#post_form.fields['agree'].widget.attrs={'onclick': 'return false','style':'opacity: 0.4 !important'}
return render(request,'test.html',context={'form':post_form,'result':result,'text':text})
text = form['text'].value()
return render(request,'test.html',context={'form':form,'result':result})
каждый раз, когда отключено, BooleanField возвращает значение false, даже если оно выбрано
Меня также ссылают на эту ссылку
forms.py
class InformationForm(forms.Form):
text = forms.CharField(max_length=50)
agree = forms.BooleanField(required=False)
def clean(self):
agree = self.cleaned_data.get('agree')
text = self.cleaned_data.get('text')
#def clean_agree(self):
# if self.instance and self.instance.pk:
# return self.instance.agree
# else:
# return self.cleaned_data.get('agree')