class LoginForm(forms.Form):
nickname = forms.CharField(max_length=100)
username = forms.CharField(max_length=100)
password = forms.CharField(widget=forms.PasswordInput)
class LoginFormWithoutNickname(LoginForm):
# i don't want the field nickname here
nickname = None #??
有没有办法实现这一点?
注意:我没有ModelForm
,因此带有exclude
的Meta
类不起作用
您可以通过重写init方法来更改子类中的字段:
Django 1.7在提交票证{a2}时解决了这个问题。在Django 1.7中,可以按照OP的建议在子类中执行
nickname = None
。从提交中的文档更改:我发现了,如果有兴趣请评论
(在Django 1.7.4中) 使用以下代码扩展表单:
MyForm_Extended_1将字段_1设置为None(db中的列更新为Null)
MyForm_Extended_2忽略字段(在保存期间忽略db中的列)
因此,出于我的目的,我使用第二种方法
相关问题 更多 >
编程相关推荐