Python django uuu init_uuuuuu()得到了一个意外的关键字参数';参数';

Python django uuu init_uuuuuu()得到了一个意外的关键字参数';参数';,python,django,Python,Django,我的视图.py class AccountCreate(RequestPassingFormViewMixin, MyCreateView): template_name = 'dashboard/account_form.html' form_class = AccountForm model = Account def get_form_kwargs(self, *args, **kwargs): kwargs = super(AccountCreate,

我的视图.py

class AccountCreate(RequestPassingFormViewMixin, MyCreateView):
    template_name = 'dashboard/account_form.html'
    form_class = AccountForm
    model = Account

def get_form_kwargs(self, *args, **kwargs):
    kwargs = super(AccountCreate, self).get_form_kwargs(*args, **kwargs)
    common = get_object_or_404(Common, pk=self.kwargs['common_pk'])
    combination_price = Account(common=common)
    kwargs['instance'] = combination_price
    return kwargs

def get_success_url(self):
    return reverse('dashboard_account_list', kwargs={'chain_pk': self.object.chain.id})

def form_valid(self, form):
    self.object = form.save(commit=False)
    discount = form.cleaned_data['discount']
    account_list = form.cleaned_data['account_list']
    self.object.common = get_object_or_404(Common, pk=self.kwargs['common_pk'])
    code = Account.get_code(self.object.common, account_list, discount)
    self.object.code = code
    self.object.save()
    form.save_m2m()
    return redirect(self.get_success_url())
这是我的form.py文件

class AccountForm(autocomplete_light.ModelForm):
    class Meta:
        model = Account

def __init__(self, *args, **kwargs):
    self.request = kwargs.pop("request")        
    super(AccountForm, self).__init__(*args, **kwargs)
    common = Common.objects.get(pk=self.request.session.get('common_pk'))
    products = Account.objects.filter(chain=chain)
    form.fields['discount'].queryset = Discount.objects.filter(product__in=products)
    form.fields['account_list'].queryset = AccountList.objects.filter(common=common)

def clean(self):
    cleaned_data = super(AccountForm, self).clean()
    discount = cleaned_data['discount']
    if len(discount) <= 1:
        self._errors["discount"] = self.error_class(['Choose at least two discount'])
        return cleaned_data
    account_list = cleaned_data['account_list']
    common = Common.objects.get(pk=self.request.session.get('common_pk'))
    code =Account.get_code(common, account_list, discount)
    if not self.instance or (self.instance.code != code or self.instance.account_list != account_list):
        if Account.objects.filter(code=code, account_list=account_list).exists():
            msg1 = 'Already exists'
            self._errors["discount"] = self.error_class([msg1])
    return cleaned_data
类帐户表单(autocomplete\u light.ModelForm):
类元:
模型=帐户
定义初始化(self,*args,**kwargs):
self.request=kwargs.pop(“请求”)
super(AccountForm,self)。\uuuuu init\uuuuuu(*args,**kwargs)
common=common.objects.get(pk=self.request.session.get('common_-pk'))
产品=帐户.对象.过滤器(链=链)
form.fields['discount'].queryset=discount.objects.filter(product\uu in=products)
form.fields['account\u list'].queryset=AccountList.objects.filter(common=common)
def清洁(自清洁):
cleaned_data=super(AccountForm,self).clean()
折扣=已清理的数据[“折扣”]

如果len(discount)我已经找到了解决方案,在我的表单中,
\uuu init\uuu
方法没有'param'关键字参数,因此我重写了我的form.py类似的内容,添加了
self.param=kwargs.pop(“param”)

def __init__(self, *args, **kwargs):
    self.request = kwargs.pop("request")
    self.param = kwargs.pop("param")
    super(CombinationPriceForm, self).__init__(*args, **kwargs)
    chain = Chain.objects.get(pk=self.request.session.get('chain_pk'))
    products = Product.objects.filter(chain=chain)
    self.fields['variants'].queryset = Variant.objects.filter(product__in=products)
    self.fields['price_list'].queryset = PriceList.objects.filter(chain=chain)

我已经找到了解决方案,在我的表单中,
\uuu init\uuu
方法没有'param'关键字参数,所以我重写了我的form.py类似的内容,添加了
self.param=kwargs.pop(“param”)
和它的工作

def __init__(self, *args, **kwargs):
    self.request = kwargs.pop("request")
    self.param = kwargs.pop("param")
    super(CombinationPriceForm, self).__init__(*args, **kwargs)
    chain = Chain.objects.get(pk=self.request.session.get('chain_pk'))
    products = Product.objects.filter(chain=chain)
    self.fields['variants'].queryset = Variant.objects.filter(product__in=products)
    self.fields['price_list'].queryset = PriceList.objects.filter(chain=chain)

检查
autocomplete\u light.ModelForm.\uuu init\uuuu
的声明,并在调用它之前简单地
pop
不需要的声明(就像您对请求所做的那样)…错误发生在哪里?您在这里包含了很多代码,其中大部分似乎与错误无关,堆栈跟踪在哪里?请检查
自动完成\u light.ModelForm.\uuuu init\uuuu
的声明,并在调用它之前简单地
弹出不需要的代码(就像您对请求所做的那样)…错误发生在哪里?这里包含了很多代码,其中大部分似乎与错误无关,堆栈跟踪在哪里?