表单中多对多字段的背面存在未知字段错误

问题描述

我在两个应用程序中有两个模型。 AppTwo.ModelTwo与AppOne.ModelOne有M2M。

...AppOne.py
class ModelOne(models.Model):
    some fields
    team = FK TO THE TEAM


...AppTwo.py
class ModelTwo(models.Model):
     team = FK TO THE TEAM
     models = models.ManyToManyField(
        "appname.ModelOne",blank=True,related_name="all_the_models")

在我尝试为AppOne.ModelOne制作ModelForm之前,这些方法效果很好。

class ModelOneAddModelTwoForm(forms.ModelForm):

    def __init__(self,team,*args,**kwargs):
        super(ModelOneAddModelTwoForm,self).__init__(*args,**kwargs)
        self.fields["all_the_models"].widget = forms.widgets.CheckBoxSelectMultiple()
        self.fields["all_the_models"].help_text = ""
        self.fields["all_the_models"].queryset = ModelTwo.objects.filter(team=team)

    class Meta:
        model = ModelOne
        fields = ['all_the_models',]

团队通过调用表单的视图上的get_form_kwargs传入。当我尝试使用调用该表单的UpdateView时,出现此错误

django.core.exceptions.FieldError: UnkNown field(s) (all_the_models) specified for ModelOne

我无法为自己的一生弄清楚自己在做什么错。我尝试将这三种方式配置为星期天,但我看不到。我可以在/admin/docs/model/appone.modelone/中的模型的Django模型文档中看到它,但除此之外,我无法加载该字段。

对于定义了该关系的模型,它确实可以很好地加载表单。

我想念什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)