Form.py
class FormA(forms.ModelForm):
fieldA = forms.CharField(required=True)
fieldB = forms.CharField(required=True)
def __init__(self, *args, **kwargs):
super(OfflineAccountEditForm, self).__init__(*args, **kwargs)
self.fields['fieldC'] = forms.CharField(required=True)
class Meta:
model = Profile
fields = ('username','first_name','last_name')
如您所见,我尝试在init函数中初始化一个名为fieldC的新字段。在请求“获取”方法期间,它可以很好地显示在表单上。
但是,当我提交表单时,我打印出了表单,但是fieldC字段丢失了。
if request.method == 'GET':
if obj:
form = FormA(instance=obj)
else:
form = FormA()
else:
if obj:
form = FormA(request.POST, instance=obj)
else:
form = FormA(request.POST)
print form
当我运行cleaned_data时,它找不到该字段。
fieldC = form.cleaned_data['fieldC']
有解决方案吗?请指导。预先感谢您,并感谢您的帮助。
答案 0 :(得分:0)
可能是因为您没有缩进__init__()
方法吗?或Meta class
。