Я хочу избавиться от выбора "-------------". Django добавляет в выбранный ввод, представляющий внешний ключ в ModelForm.
Он ответил , что вы можете использовать параметр empty_label=none
, но у меня есть ModelForm, а не регулярная форма и переопределение поля не допускается.
Я знаю, что я могу переопределить метод __init__()
ModelForm, чтобы изменить выборки ModelChoiceField с помощью
self.fields['my_foreign_key'].queryset = ....
Но это было бы очень уродливо, так как это происходит над +10 foreign_keys в модели "Main", и там больше, чем Modelform, основанный на этой модели
Весь контекст:
- каждая из этих foreign_key указывает на такие же модели: они представляют собой определенные списки вариантов, многие модели облегчают их модификацию через администратора.
- все эти модели связаны с основной моделью с помощью отношения "to_field = code", основанного на Charfield, который содержит трехбуквенный код (эй, а не моя ошибка, мне пришлось использовать устаревшую базу данных MS Access) этот CharField имеет параметры
blank=True, unique=True
, поэтому я мог бы для каждого списка создать запись"---No information yet---"
, которая, вы ставите, пустое значение вместо трехбуквенного кода...
Ситуация сейчас: я получаю поле ввода выбора с двумя вариантами "пустого значения": один из джанго и мой, один за другим. Я просто пропустил здесь параметр 'empty_label = none`...