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,看看它在哪里失败吗?此外,声明中可能存在冲突的局部变量名