__init__() 为参数“实例”获得了多个值

问题描述

我正在尝试覆盖表单,但正在为参数“实例”获取多个值 这是我的表单类

class MarketProductForm(forms.ModelForm):
    
    lists = FarmerRequest.objects.all()
    request = forms.ModelChoiceField(queryset=lists)
    
    class Meta:
        model = MarketProduct
        fields = '__all__'
        
    def __init__(self,instance=None,*args,**kwargs):
        super().__init__(instance=instance,**kwargs)
        
        if instance:
            requests = MarketProduct.objects.all()
            request_list = []
            for req in requests:
                request_list.append(req.request.id)
            # lists = FarmerRequest.objects.filter(~Q(id__in=request_list))
            lists = FarmerRequest.objects.all()
            self.fields['request'].queryset = lists
            
        else:
            requests = MarketProduct.objects.all()
            request_list = []
            for req in requests:
                request_list.append(req.request.id)
            lists = FarmerRequest.objects.filter(~Q(id__in=request_list))
            self.fields['request'].queryset = lists

在我的 admin.py 中

form = MarketProductForm

解决方法

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

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

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