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
,因此Meta
类和exclude
不起作用。
我发现了,如果有兴趣请评论。
(在Django 1.7.4中) 扩展表单,代码如下:
MyForm_Extended_1将field_1设置为None(db中的列更新为空)
MyForm_Extended_2忽略该字段(在保存期间忽略db中的列)
所以,为了我的目的,我使用第二种方法。
您可以通过重写init方法来更改子类中的字段:
Django 1.7在提交b16dd1fe019以获得票证#8620时解决了这个问题。在Django 1.7中,可以按照OP的建议在子类中执行
nickname = None
。从提交中的文档更改:相关问题 更多 >
编程相关推荐