Простой способ получить требуемый BooleanField в форме в Django - PullRequest
1 голос
/ 14 октября 2019
class Participant(models.Model):
        first_name  = models.CharField(max_length=50, verbose_name='Imię')
        last_name   = models.CharField(max_length=50, verbose_name='Nazwisko')
        email   = models.EmailField(verbose_name='E-mail')
        nr_telefonu = models.CharField(max_length=11, blank=True, verbose_name='Nr telefonu')
        regulamin_1 = models.BooleanField(default=False, verbose_name='Wyrażam')
        regulamin_2 = models.BooleanField(default=False, verbose_name='Wyrażam')
        created     = models.DateTimeField(auto_now_add=True)

Что я могу сделать, чтобы получить требуемый BooleanField от пользователя? Когда я попытался использовать аргумент required = True, он все равно не работал. Кто-нибудь может решить эту проблему?

    def home(request):
        #return HttpResponse("hi");
            form = ParticipantCreateForm(request.POST or None)
            if form.is_valid():
                    form.save()

            context = {'form': form }  

        return render(request, 'apka/base.html', context)

1 Ответ

0 голосов
/ 14 октября 2019

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

regulamin_1 =  regulamin_1 = models.BooleanField(default=False, verbose_name='Wyrażam')

   def clean_patient_agreement(self):
        pa_value = self.cleaned_data.get('regulamin_1',False)

        ## Return value if True (checked)
        if pa_value:
            return pa_value

        ## Raise exception if not checked
        raise ValidationError('Must check patient agreement box to proceed')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...