Для ChoiceField нужно установить choices
.Они не только определяют, что показано в раскрывающемся списке, но и важны для вас, они также определяют, какие значения следует принять при отправке формы.
Позвольте мне объяснить, что происходит в вашей ситуации.Ваш выбор изначально установлен как:
CHOICES = (
('', '-- choisir un type en premier')
)
Это означает, что будет принят только пустой выбор (первая запись в кортеже, ''
, является фактическим значением поля,и choisir...
- текстовое значение).
Поэтому, когда вы добавляете <option>
элементы через Javascript, их значения не будут в CHOICES
, и поэтому они отклоняются Django, когда вы отправляетеэта форма.10 отсутствует в CHOICES
.
Представление, в которое отправляется ваша форма, должно смотреть на значение переданного ей параметра, а затем соответственно изменять значение CHOICES
, передаваемое в ChoiceField.