使用 __init__ 覆盖模型形式选择
overriding modelform choices with __init__
我一直在尝试让选择的字段根据我在我看来给出的内容进行更改,我得到
name 'self' is not defined
这是我的 view.py
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']
这是我的 model.py
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')
我一直在尝试让选择的字段根据我在我看来给出的内容进行更改,我得到
name 'self' is not defined
这是我的 view.py
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']
这是我的 model.py
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')