Я искал способ создать поле формы только для чтения и каждую статью, которую я нашел на предмете, идет с оператором, что "это - плохая идея". Теперь для отдельной формы, я могу понять, что существуют другие способы решить проблему, но использование поля формы только для чтения в modelformset походит на абсолютно естественную идею.
Рассмотрите заявление журнала оценок учителя, где учитель хотел бы смочь войти, все студенты (отметьте множественных студентов), классы с синглом ОТПРАВЛЯЮТ. modelformset мог выполнить итерации по всем студенческим классам таким способом, которым студенческое имя только для чтения, и класс является доступным для редактирования полем. Мне нравятся питание и удобство проверки ошибок и сообщения об ошибке, которое Вы получаете с modelformset, но отъезд студенческого имени, доступного для редактирования в таком formset, является сумасшедшим.
Так как опытное django согласие состоит в том, что поля формы только для чтения являются плохой идеей, я задавался вопросом, что стандарт django лучшая практика для примера студенческого класса в качестве примера выше?
Причина, по которой вы не хотите этого делать, заключается в том, что кто-то может изменить ваше отключенное поле на включенное, а затем отправить форму. Вам придется изменить функцию сохранения, чтобы не вставлять "отключенные" данные.
Стандартный способ сделать это - не помещать имя в поле ввода, а отображать его как текст
<form>
<div>
<label>Name</label>
<p>Johnny Five</p>
</div>
<div>
....
В django это невозможно.
Я говорю, что если вы действительно доверяете своим пользователям, что они не будут "возиться" со всем этим, то соглашайтесь, но если это публичный сайт с возможными конфиденциальными данными, то держитесь подальше.