2016-11-26 1 views
2

Я использую встроенный набор форм, и я не могу отправить форму, когда одно из полей скрыто в шаблоне.Inline formet не работает только тогда, когда поле скрыто в шаблоне

{{ form.provider.as_hidden }} 

Когда поле отображается в формах набора форм, все работает нормально. Поле правильно заполнено, и я могу отправить форму.

{{ form.provider }} 

Любые идеи, что вызывает эту проблему?

forms.py 

class DurationForm(forms.ModelForm): 
    class Meta: 
     model = Duration 
     fields = [ 
      'provider', 
      'duration', 
      'price' 
     ] 
     widgets={ 
      "duration":forms.TextInput(attrs={'placeholder':'Duration'}), 
      "price":forms.TextInput(attrs={'placeholder':'Price'}), 
      #"provider":forms.HiddenInput(), 
     } 

ответ

1

Per Документов, as_hidden только для связанных полей и должен быть primarily used internally. Попробуйте использовать виджет HiddenInput (или виджет MultipleHiddenInput, если это более подходит для вашего поля provider), и ваша форма должна работать нормально.

+0

Я пробовал виджет HiddenInput уже, но безуспешно. Я динамически добавляю формы в formet (django-dynamic-formset.js). Если поле {{form.provider}} имеет виджет HiddenInput, каждая добавленная форма предотвращает отправку формы. Если присутствует виджет по умолчанию, и в форме отображается {{form.provider}}, поле обычно заполняется в каждой добавленной форме. Когда я добавлял дополнительную форму динамически с помощью виджета HiddenInput для данного поля, затем менял виджет по умолчанию и просто обновлял страницу, я заметил, что это поле не заполняется в дополнительной добавленной форме. – Uros

+0

Какое поле является «провайдером» – YPCrumble

+0

Это поле ForeignKey для другой модели. – Uros

 Смежные вопросы

  • Нет связанных вопросов^_^