Django: BooleanField отображается не с CheckBoxInput «по умолчанию», а с Select? - PullRequest
0 голосов
/ 17 июня 2020

Я только что обновил свое одно поле модели с IntergerField до BooleanField, чтобы иметь флажок в моей форме администратора, но это не ...

Вместо этого отображается список выбора с 3 option (Неизвестно, Да, Нет)

Как упоминалось в Django документации администратора, CheckBoxInput является виджетом по умолчанию, поэтому он работает shloudl

Я пытаюсь «принудительно» CheckBoxInput определять формы виджета .CheckBoxInput, но он тоже не работает ...

Мне нужно, чтобы это поле можно было редактировать. Я проверяю, что это не тот параметр, который предотвращает виджет по умолчанию, но это не так.

models.py

class Profile(SafeDeleteModel):
    _safedelete_policy = SOFT_DELETE_CASCADE
    pro_ide = models.AutoField(primary_key = True)
    user = models.OneToOneField(User, on_delete = models.CASCADE)
    site = models.ForeignKey(Site, on_delete = models.CASCADE)
    ...
    pro_mai = models.BooleanField("Send user login/password? (y/n)",default=0, null=True, blank=True)
    ...

admin.py

class ProfileFormAdmin(forms.ModelForm):

    FONCTIONS = Thesaurus.options_list(5,'fr')
    pro_mai = forms.BooleanField(label="Envoyer le mot de passe ? (Oui/Non)",required=False)
    pro_fon = forms.ChoiceField(label="Fonction", widget = forms.Select, choices = FONCTIONS) 

def send_login_password(modeladmin, request, queryset):
    queryset.update(
        pro_mai = 1,
    )
send_login_password.short_description = 'Envoyer login et mot de passe à l\'utilisateur'

class ProfileAdmin(SimpleHistoryAdmin):

    list_display = ('name','contact','pro_mai','fonction',)
    list_editable = ('pro_mai',)
    exclude = ('pro_con','pro_lis_ran', 'pro_lis_rea', 'pro_lis_unb','pro_tel')
    search_fields = ['name']
    actions = [send_login_password]
    form = ProfileFormAdmin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...