django cms 插件上的动态模型选择字段

Dynamic model choice field on a django cms plugin

我目前正在开发一个 django cms 插件,其模型选择字段依赖于表单中的另一个字段。我现在通过 ajax 做的是,当触发字段被 selected 时,依赖模型选择字段通过 ajax 更新以更改 select 中的选择] 场地。但是在提交表单时,我遇到了这个错误

“Select 一个有效的选择。这不是可用的选择之一。”

我深入研究了堆栈溢出并发现了类似的问题

基于上面的 link,我应该根据我将从 request.POST[=11= 获得的触发字段的值,以插件本身的形式更新模型选择字段]

我如何为 django cms 插件做这个?我应该覆盖 cms 插件的哪个方法?我假设它是插件的 CMSPluginBase class 中的一个方法,但我不确定到底要覆盖什么方法,以及我将如何获得我的插件使用的当前表单,以便我可以在上述方法中覆盖它?

谢谢

经过一些挖掘,我能够通过覆盖 is_valid() 过程中的字段查询集来做到这一点

def is_valid(self):
    self.fields["my_field"].queryset=Foo.objects.filter(bar=baz)
    return super(MyForm, self).is_valid() 

这样当表单的验证为 运行 时,该字段已被覆盖