我目前正在开发一个django cms插件,其模型选择字段依赖于表单中的另一个字段。我现在通过ajax做的是,当选择触发字段时,依赖模型选择字段通过ajax更新以更改选择字段中的选项。但是,在提交表单时,我遇到了此错误
“选择有效的选择。这不是可用的选择之一。“
我做了一些挖掘堆栈溢出并找到了类似的问题
根据上面的链接,我应该以插件本身的形式更新模型选择字段,具体取决于我将从request.POST
获取的触发字段的值。我如何为django cms插件执行此操作?我应该覆盖cms插件的哪种方法?我在插件的CMSPluginBase类中假设了一个方法,但我不确定要覆盖哪种方法,以及如何获取我的插件使用的当前表单,以便我可以覆盖它在上述方法中?
由于
答案 0 :(得分:1)
经过一番挖掘,我能够通过覆盖表格的is_valid()过程中的字段查询集来实现这一点
def is_valid(self):
self.fields["my_field"].queryset=Foo.objects.filter(bar=baz)
return super(MyForm, self).is_valid()
这样,当运行表单的验证时,该字段已被覆盖