Встройте formset в Django - удаление определенных полей

Попробуйте добавить else к вашему внешнему оператору if:

if (isset(

Попробуйте добавить else к вашему внешнему оператору if:

[110]

Это по крайней мере скажет вам, если ошибка связана с

Попробуйте добавить else к вашему внешнему оператору if:

[110]

Это по крайней мере скажет вам, если ошибка связана с [111].

POST['upload']
.

POST['upload'])) { // code ... } else { // error code }

Это по крайней мере скажет вам, если ошибка связана с

Попробуйте добавить else к вашему внешнему оператору if:

[110]

Это по крайней мере скажет вам, если ошибка связана с [111].

POST['upload']
.

10
задан vishes_shell 2 March 2016 в 23:15
поделиться

2 ответа

Действительно ли это - formset для использования в администраторе? Если так, просто набор "исключает = ['field1', 'field2']" на Вашем InlineModelAdmin для исключения полей. Для показа некоторых полевых недоступных для редактирования значений необходимо будет создать простой пользовательский виджет, рендеринг которого () метод просто возвращает значение, и затем переопределите formfield_for_dbfield () метод для присвоения виджета надлежащим полям.

Если это не для администратора, но formset для использования в другом месте, то необходимо сделать вышеупомянутые настройки (исключают атрибут в Meta внутренний класс, переопределение виджета в __ init __ метод) в подклассе ModelForm, который Вы передаете formset конструктору. (При использовании Django 1.2 или позже можно просто использовать readonly_fields вместо этого).

Я могу обновить с примерами кода, если Вы разъясняетесь, какая ситуация Вы находитесь в (администратор или не).

6
ответ дан 3 December 2019 в 19:35
поделиться

У меня была аналогичная проблема (не для администратора - для сайта, ориентированного на пользователя), и я обнаружил, что вы можете передать набор форм и поля, которые хотите отобразить, в inlineformset_factory вот так :

factory = inlineformset_factory(UserProfile, PointTransaction, 
                formset=PointTransactionFormset,
                fields=('description','points_type'))
formset = factory(instance=user_profile, data=request.POST)

где user_profile - это UserProfile .

Имейте в виду, что это может вызвать проблемы проверки, если в базовой модели есть обязательные поля, которые не включены в переданный список полей в inlineformset_factory , но это относится к любому виду формы.

2
ответ дан 3 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: