[英]Django migrations - change model from Int to CharField and pre-populate from choice option
[英]Pre-populate the correct choice for a CharField in a Django form
我有一個包含由選擇組成的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提示我進行更深入的研究。 Django工作得很好。 我的ajax提交設置不正確,並且jquery不正確使顯示的選項混亂。 感謝您的回復,對於您的任何浪費,我深表歉意。 菲爾
我剛剛制定了一個jQuery解決方案,但如果可能的話,我想要更像Django的東西。
$("#id_some_field").val("{{ form.some_field.value }}");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.