У меня есть форма, основанная на модели. Рандомизация. Я хочу добавить определенную проверку в поле.
Я пытаюсь добавить 'else' сразу после if form.is_valid (), потому что я понимаю, что долженуправлять случаем, когда форма недействительна, но как?
views.py:
@login_required
def randomisation_edit(request):
if request.method == "POST":
form = RandomisationForm(request.POST or None)
if form.is_valid():
randomisation = form.save()
# print('Patient code :',randomisation.ran_num)
return redirect('randomization:confirmation', pk = randomisation.pk)
else:
#TODO
else:
form = RandomisationForm(initial = {'ran_num': request.GET['patient']})
preincluded = Preinclusion.objects.get(pat_num = request.GET['patient'])
return render(request, 'randomization/randomisation_edit.html', {'form': form, 'preincluded': preincluded})
forms.py
class RandomisationForm(forms.ModelForm):
...
class Meta:
model = Randomisation
# Tous les champs sauf les champs de log et les champs TB treatment et Drug batch number
fields = ('ran_num','ran_dat','ran_inv','ran_pro','ran_pro_per','ran_crf_inc','ran_tbc','ran_crf_eli','ran_cri','ran_sta','ran_vih',)
def clean_ran_crf_inc(self):
data = self.cleaned_data['ran_crf_inc']
if int(data) == 0:
raise forms.ValidationError("Ce critère est obligatoire pour la randomisation")
return data
У меня есть ошибка 'локальная переменнаяссылка на него перед присваиванием «из-за моих представлений: когда возникает ошибка проверки, контекст« предварительно включенный »еще не определен, тогда как я пытаюсь его отобразить