【问题标题】:django Model got an unexpected keyword argument 'auto_id'django 模型得到了一个意外的关键字参数 \'auto_id\'
【发布时间】:2022-08-03 16:19:35
【问题描述】:

我正在尝试创建一个包含表单集的页面。到目前为止,我得到了以下信息:

表格.py

class ContractorForm(forms.ModelForm):
    class Meta:
        model = Contractor
        fields = [
            \'first_name\', \'last_name\', \'email\', \'company_name\',
        ]

视图.py

class ContractorUpdateView(SimpleLoginRequiredMixin, TemplateView):
    def get(self, request, *args, **kwargs):
        \"\"\"Handle GET requests: instantiate a blank version of the form.\"\"\"
        ContractorFormSet = formset_factory(
            Contractor)

        contractor_formset = ContractorFormSet()
        context = {\"contractor_formset\": contractor_formset}
        return render(
            request, \"accounts/contractor_form.html\", context)

承包商form.html

      <div class=\"card-body\">
        <form class=\"\" method=\"post\" action=\"\" id=\"facility_contractor_form\">
        {% for form in contractor_formset %}
          {% csrf_token %}
          {{ form.as_p }}
        {% endfor %}
        </form>
      </div>
      <!-- /.card-body -->
      <div class=\"card-footer\">
        <a href=\"javascript:history.back()\" class=\"btn btn-secondary\">Cancel</a>
        <input type=\"submit\" form=\"facility_contractor_form\" value=\"Save Changes\"
               class=\"btn btn-success float-right\">
      </div>

但是当我尝试打开页面时,我会收到以下错误:

TypeError at /facility/2/contractor/

Contractor() got an unexpected keyword argument \'auto_id\'

有任何想法吗?我认为我使用for 可能是错误的想法

    标签: python python-3.x django formset django-4.0


    【解决方案1】:

    您的 ContractorUpdateView 引用模型,而它应该引用表单,所以它必须是:

    ContractorFormSet = formset_factory( 承包商表格)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-03
      • 2018-05-02
      • 2020-08-18
      • 2019-02-03
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多