为下拉列表相互依赖的表单加载 django 表单实例
Load django form instance for form where dropdowns are dependent on each other
我有一个 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_
方法中为每个输入再次生成查询集,并在匹配时强制对其进行验证?
是否有更好的方法来处理表单中的依赖下拉菜单?
我的代码几乎完全模仿教程 - 除了一些额外的输入,链接方式与教程完全相同。
我最终更改了表格的 __init__
以利用 .is_bound
。方法本身。
通过这样做,我能够将生成的查询集注册为 POST 中的适当响应。
我有一个 ModelForm,上面有 5 个下拉菜单。
最初,它们会在用户选择时显示一个下拉列表(jquery 发生更改事件)- Ajax 触发对 view
函数的请求 - 该函数将查询集呈现为下拉列表并通过 jquery.
我 followed this tutorial 进行设置(对我的 5 个下拉菜单重复该过程)。
我去编辑已保存的表单时出现了问题。
与教程结尾类似,我可以使用实例项设置我的表单,没问题。如果我更改最后一个下拉列表并保存表单,它会按预期更新。
但是如果我更改任何其他项目并且它在初始查询集中生成 不是 的选项,它会启动错误说 Select a valid choice. That choice is not one of the available choices.
我是否应该在 clean_
方法中为每个输入再次生成查询集,并在匹配时强制对其进行验证?
是否有更好的方法来处理表单中的依赖下拉菜单?
我的代码几乎完全模仿教程 - 除了一些额外的输入,链接方式与教程完全相同。
我最终更改了表格的 __init__
以利用 .is_bound
。方法本身。
通过这样做,我能够将生成的查询集注册为 POST 中的适当响应。