Django ChoiceField сделать только один выбор доступным для чтения

У меня есть выпадающее поле с несколькими вариантами выбора в django, и я хочу сделать только одно значение из выпадающего поля только для чтения, чтобы его нельзя было редактировать, а остальные оставить редактируемыми

Я хочу, если это возможно, сделать это в get_form моего представления

вот что я делаю на данный момент :

form.fields["groups"].queryset = models.Group.objects.all()
form.fields["groups"].initial = models.Group.objects.filter(is_default=True)

В основном я хочу, чтобы значение по умолчанию всегда было выбрано (выбрано и отключено)

enter image description here

Спасибо, что направили меня в этом направлении.

Вы можете отключить поле, установив атрибут disabled [Django-doc] на True:

form.fields['groups'].queryset = models.Group.objects.all()
form.fields['groups'].initial = models.Group.objects.filter(is_default=True)
form.fields['groups'].disabled = True

Если вы установите это значение при создании формы (в методе __init__), это также предотвратит "поддельные" POST-запросы с другим значением. Другими словами: это не только отключает поле на клиенте браузера, но и предотвращает вредоносные запросы.

Вернуться на верх