Лучшая практика Django для отображения в основном формы только для чтения, одно поле доступно для записи - PullRequest
2 голосов
/ 01 декабря 2009

У меня есть требование, когда один пользователь создает «экземпляр» объекта через ModelForm. Другой пользователь другой группы имеет доступ для чтения всех полей формы, но должен обновить только одно поле. Подумайте о студенте, который создает предмет экзамена. Затем преподаватель сдвигает экзамен и просто должен поставить оценку, остальная часть экзамена только для чтения.

Какой лучший способ сделать это? Должен ли я просто запросить объект и отобразить каждое поле отдельно, а затем создать форму (не ModelForm?) Только для одного поля?

1 Ответ

3 голосов
/ 01 декабря 2009

Должен ли я просто запросить объект и отобразить каждое поле отдельно, а затем создать форму (не ModelForm?) Только для одного поля?

Это, наверное, лучший способ сделать это. Обратите внимание, что может использовать ModelForm для формы учителя, см. Документацию Django по с использованием подмножества полей в форме модели . Вам нужно будет отобразить все остальные поля вручную в вашем шаблоне, но, вероятно, у вас должен быть отдельный шаблон для этого представления (я бы также использовал отдельные представления).

Вы можете найти код для поля только для чтения в Django Snippets , но, как правило, лучше явно указывать, какие поля вы обновляете в каждом представлении. Это может быть больше проблем, чем стоит.

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