【问题标题】:Load django form instance for form where dropdowns are dependent on each other为下拉列表相互依赖的表单加载 django 表单实例
【发布时间】:2019-02-28 20:29:41
【问题描述】:

我有一个 ModelForm,上面有 5 个下拉菜单。

最初,它们在用户选择时显示一个下拉列表(jquery on change event) - Ajax 触发对view 函数的请求 - 该函数在下拉列表中呈现查询集并通过 jquery 放入当前 DOM。

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

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

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

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

我是否应该在 clean_ 方法中为每个输入再次生成查询集并强制验证它是否匹配?

有没有更好的方法来处理表单中的依赖下拉菜单?

我的代码几乎完全模仿了教程——除了一些额外的输入,链接方式与教程完全相同。

【问题讨论】:

    标签: jquery django django-forms modelform


    【解决方案1】:

    我最终将表单的 __init__ 更改为使用 .is_bound。方法本身。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 1970-01-01
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 1970-01-01
      相关资源
      最近更新 更多