我有一个模型,它包含一个CharField,由下面的示例中的选项组成
class SomeModel(models.Model):
some_field = models.CharField(choices=(('Name1', 'Name1'),
('Name2', 'Name2'),
('Name3', 'Name3')
)
)
这是我的模型
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会正确地预先填充下拉列表,但我不想这样做。有没有办法让表格显示正确的选择?任何帮助都将不胜感激!你知道吗
编辑:正如@solarismoke所要求的,这里是我呈现表单的方式。没有submit按钮,因为我使用ajax在值更改后立即提交表单。你知道吗
<form action="{% url 'some_location' %}" method="post">
{{ form.some_field }}
</form>
评论感谢@solarismoke促使我深入挖掘。Django工作得很好。我的ajax提交没有正确设置,不正确的jquery干扰了显示的选项。谢谢你的回复,我为你浪费的时间道歉。菲尔
我刚刚制定了一个jquery解决方案,但如果可能的话,我想要更像django的解决方案。。。你知道吗
相关问题 更多 >
编程相关推荐