Объект 'BooleanField' не имеет атрибута 'use_required_attribute' в django - PullRequest
1 голос
/ 30 июня 2019

, как следует из названия, я получаю сообщение об ошибке при использовании логического поля:

Объект 'BooleanField' не имеет атрибута 'use_required_attribute' в django

Models.py

class contactData(models.Model):

    ...
    mapActivated         = models.BooleanField(default=True)

forms.py:

class ContactForm(forms.ModelForm):

class Meta:
    model = contactData
    fields = [
        'vision',
        'horario',
        'image_path',
        'mapActivated',
        ]
    labels = {
        'image_path': '',    
    }

    widgets = {
        'mapActivated': forms.BooleanField(required=True)
    }

Кто-нибудь может мне помочь с этим?

Спасибо!

1 Ответ

3 голосов
/ 30 июня 2019

Вы путаете форму поля с формой виджеты . A forms.BooleanField [Django-doc] - это , а не виджет, это поле формы. Например, виджет - это CheckboxInput [Django-doc] , он определяет, как его отобразить в HTML-форме.

Вы можете указать поле как:

class ContactForm(forms.ModelForm):
    <b>mapActivated = forms.BooleanField(required=True)</b>

    class Meta:
        model = contactData
        fields = [
            'vision',
            'horario',
            'image_path',
            'mapActivated',
        ]
        labels = {
            'image_path': '',    
        }

При установке этого значения на required=True требуется, чтобы пользователь установил флажок. Это не может быть (само по себе), что вы хотите сделать. Если пользователь имеет право проверить / снять флажок. Достаточно удалить required=True.

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