:ジャンゴ - このサンプルコードが指定されているDjangoのウェブサイト上のModelForm継承
>>> class RestrictedArticleForm(EnhancedArticleForm):
... class Meta(ArticleForm.Meta):
... exclude = ('body',)
本の私の理解では、EnhancedArticleForm(またはするArticleFormとEnhancedArticleForm)と呼ばれるのModelFormがあることであり、これはからボディフィールドを除外するべきですフォームがレンダリングされるときのフォーム。私のコードは次のようになります。私は、ユーザーが明らかに自分のユーザー名を変更することができるようにしたくない
class EditUserForm(UserForm):
class Meta(UserForm.Meta):
exclude = ('username',)
。しかし、このコードを使用すると、ユーザー名フィールドが最後に表示されるフィールドになります。それは実際にそれを排除するものではありません。私は明白な何かを欠いていますか
編集:
どうやらこれは、ジャンゴのバグのためです。私はのように上書きしようとしていますが、フォームは表示されません。私は多分これ間違っていたからだと思う:
class EditUserForm(UserForm):
def __init__(self,instance):
UserForm.__init__(self,instance)
del self.fields['username']
興味深いもの。 JPCはあなたの 'UserForm'で' username'をオーバーライドしましたか? –
はい、その動作の一部を変更する必要があったので、 – JPC
フォーム__init__メソッドをオーバーライドしようとしましたが、フォームが表示されなくなりました。私はこのコードを編集しました – JPC