У меня есть модель, которая содержит CharField, состоящий из вариантов, как в примере ниже
class SomeModel(models.Model):
some_field = models.CharField(choices=(('Name1', 'Name1'),
('Name2', 'Name2'),
('Name3', 'Name3')
)
)
Вот мой ModelForm
class SomeModelForm(forms.ModelForm):
class Meta:
model = SomeModel
Вот мой основной вид, который прикрепляет экземпляр к форме:
def some_view(request, model_id):
somemodel = SomeModel.objects.get(id=model_id)
form = SomeModelForm(instance=somemodel)
context = {'form': form}
return render(request, 'page.html', context)
Когда форма отображается, раскрывающийся список не заполняется заранее. Это не тот случай, когда что-то не так с моим кодом, так как все остальные поля формы (опущены в этом примере) предварительно заполнены. Я знаю, что могу сделать CharField ForeignKey, и тогда Django правильно заполнит выпадающий список, но я не хочу этого делать. Есть ли способ заставить форму показывать правильный выбор? Любая помощь будет принята с благодарностью!
РЕДАКТИРОВАТЬ : Как @solarissmoke просил здесь, как я рендерил форму. Там нет кнопки отправки, потому что я использую ajax для отправки формы, как только значение изменяется.
<form action="{% url 'some_location' %}" method="post">
{{ form.some_field }}
</form>
Комментарий Спасибо @solarissmoke за то, что побудил меня копать глубже. Джанго работал просто отлично. Мое представление ajax не было настроено должным образом, и неправильный jquery мешал отображаемому варианту. Спасибо за ваш ответ, и я прошу прощения за любое потраченное время. Фил