为下拉列表相互依赖的表单加载Django表单实例

时间:2019-02-28 20:29:41

标签: jquery django django-forms modelform

我有一个ModelForm,上面有5个下拉列表。

在用户选择时(更改事件上的jquery),最初将它们显示为一个下拉列表-Ajax将请求触发到view函数-该函数在下拉列表中呈现查询集,并通过jquery放入当前DOM中

followed this tutorial进行设置(对我的5个下拉菜单重复此过程)。

我的问题源于我去编辑已保存的表单。

类似于本教程的结尾,我可以使用实例项设置表单,没关系。如果我更改了最后一个下拉菜单并保存了表单,它会按预期更新。

但是,如果我更改了其他任何项,并且在初始查询集中生成了不是的选项,则会启动错误提示Select a valid choice. That choice is not one of the available choices.

我应该只对每个输入使用clean_方法再次生成查询集,并强制它与输入匹配吗?

是否有更好的方法来处理表单中的依赖下拉列表?

我的代码几乎完全模仿了本教程-除了一些附加输入外,其他输入的链接方式与本教程完全相同。

1 个答案:

答案 0 :(得分:0)

我最终更改了表单的__init__以利用.is_bound。方法本身。

这样做,我能够获得它来将生成的查询集注册为POST中的适当响应。