加载django表单实例的表单,其中下拉列表相互依赖



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

最初,它们在用户选择(变更事件的jQuery)上显示了一个下拉列表 - AJAX将请求启动到view函数 - 将querySet呈现在下拉列表中,并通过jQuery将其放入当前DOM中。

我遵循本教程进行设置(重复5个下拉列表的过程)。

当我去编辑保存的表格时,我的问题源于

类似于教程的末尾,我可以使用实例项目设置我的表单,这还可以。如果我更改最后一个下拉列表并保存表单,则它会按预期更新。

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

我应该只为每个输入的clean_方法再次生成QuerySet,并迫使其匹配这些输入?

是否有更好的方法来处理形式的依赖下拉菜?

我的代码几乎完全模仿了教程 - 除了其他几个输入,以与教程完全相同的方式链接。

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

通过这样做,我能够在邮政中以适当的响应注册生成的QuerySet。

最新更新