Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用u_init覆盖模型表单选项___Python_Django_Overriding_Modelform - Fatal编程技术网

Python 使用u_init覆盖模型表单选项__

Python 使用u_init覆盖模型表单选项__,python,django,overriding,modelform,Python,Django,Overriding,Modelform,我一直在尝试根据我在视图中给出的内容来获取可供选择的字段,然后我得到了 name 'self' is not defined 这是我的看法 def CarOwnerSearch(request): if request.user.is_authenticated(): form = carOwnerForm.__init__(self,'B','None','C') return render (request,'carmanager/CarOwnerS

我一直在尝试根据我在视图中给出的内容来获取可供选择的字段,然后我得到了

name 'self' is not defined
这是我的看法

def CarOwnerSearch(request):
    if request.user.is_authenticated():
        form = carOwnerForm.__init__(self,'B','None','C')
        return render (request,'carmanager/CarOwnerSearch.html', {'form': form})
好的,我有一个模型

class carOwnerForm(forms.ModelForm):
    first_name = forms.charfield()
    last_name = forms.charfield()

    def __init__(self, a,b,c):
        super(carOwnerForm,self).__init(a,b,c)
        self.field["ownership_Type"].choice = [a,b,c]

    class Meta:
        model = CarOwner
        fields = ['ownership_type','CarModel']
这是我的模特

class CarOwner(models.Model):
    ownershipTpes_choices = ( ('R','Rented'),('L','Leased'),('O','Owned'))
    ownership_Type = models.CharField(max_length=1,
                                     choices=ownershipTypeChoices)
追踪就在这里
这是针对注释中指出的特定问题的编辑更新。这是初始化表单的方式:

form = carOwnerForm.__init__(self,'B','None','C')
应该是

form = carOwnerForm('B', None, 'C')

以下是初始化表单的方式:

form = carOwnerForm.__init__(self,'B','None','C')
应该是

form = carOwnerForm('B', None, 'C')

实际上,
self
并没有定义在这个函数中。你为什么认为应该是这样?你为什么直接打电话给
\uuuuu init\uuuuu
?我第一次在没有self的情况下尝试了它,但它要求进行第三次辩论,所以我添加了self。在model.py中有一些选项,但对于视图,我不希望显示这些选项,我希望显示不同的选项,因此我试图覆盖该字段的选项。实际上,
self
未在该函数中定义。你为什么认为应该是这样?你为什么直接打电话给
\uuuuu init\uuuuu
?我第一次在没有self的情况下尝试了它,但它要求进行第三次辩论,所以我添加了self。在model.py中有一些选项,但对于视图,我不希望显示这些选项,我希望显示不同的选项,因此我尝试覆盖该字段的选项OK解决了它现在我得到一个新错误“str”对象没有属性“get”AttributeError我需要更多上下文。你能看看stacktrace,看看它在哪里失败吗?此外,您的declarationsok中可能存在冲突的局部变量名,现在解决了这个问题。我得到一个新错误“str”对象没有属性“get”AttributeError,我需要更多的上下文。你能看看stacktrace,看看它在哪里失败吗?此外,声明中可能存在冲突的局部变量名