Как вы получаете MultipleChoiceField () для правильной загрузки начальных значений?
У меня есть модель Django с CharField, которую я отображаю в admin как MultipleChoiceField (), потому что я хочу ограничить еезначение для одного или нескольких конкретных вариантов.
Мой код выглядит примерно так:
class MyModelInlineForm(ModelForm):
my_text_field = forms.MultipleChoiceField(required=False)
def __init__(self, *args, **kwargs):
super(MyModelInlineForm, self).__init__(*args, **kwargs)
self.fields['my_text_field'].choices = get_choices(self.instance)
if self.instance:
self.fields['my_text_field'].initial = self.instance.my_text_field
class MyModelInline(admin.TabularInline):
model = MyModel
form = MyModelInlineForm
extra = 0
Кажется, что он отображается нормально, но когда я выбираю значения и сохраняю, новая форма загружается без значенийвыбран.Я подтвердил, что значение правильно сохраняется в базе данных, но форма не загружает его, и я не уверен, почему.
На основании некоторых похожих вопросы , я попытался явно установить значение initial
для сохраненного поля моей модели, но это, похоже, не дало результата.
Что я делаю не так?