0
私はDjangoの標準django.contrib.auth.models
を使用して、私のウェブサイトで認証を実装しています。私はDBauth_user
テーブルにNON-NULL email
フィールドを追加しました。問題は、DjangoのORMでemail
がnull可能であるようです。言い換えれば、DjangoはMySQLのDBフィールドのnull以外の属性を尊重しません。 DjangoにDBに指定されているようにこのフィールドが必要であることを伝える方法はありますか?if field.required == True:
フォームの__init__
メソッドをチェックするときにこの情報を反映させるには?DB非ヌルマークを考慮してDjangoユーザモデルをカスタマイズする
class UserForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(UserForm, self).__init__(*args, **kwargs)
for field_name, field in self.fields.items():
if field.required == True:
field.widget.attrs['required'] = ''
class Meta:
model = User
fields = ('email', 'password',)
いいえ、なぜあなたはそれを行う必要があるでしょうか? –
++++++++++++++++ 1。 'self.fields ['email']。= '''と 'self.fields ['email']。required = true'は異なる機能を持っています。私はそれだけ今理解した! –