Как сделать специальную проверку формы Джанго - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть форма, основанная на модели. Рандомизация. Я хочу добавить определенную проверку в поле.

Я пытаюсь добавить '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

У меня есть ошибка 'локальная переменнаяссылка на него перед присваиванием «из-за моих представлений: когда возникает ошибка проверки, контекст« предварительно включенный »еще не определен, тогда как я пытаюсь его отобразить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...