0
我使用Django的標準django.contrib.auth.models
在我的網站上實施授權。我在我的DB auth_user
表中添加了非NULL email
字段。問題是在Django的ORM email
似乎是可空的。換句話說,Django並不尊重MySQL中的DB字段的非空屬性。有沒有什麼辦法可以告訴Django這個字段是需要在DB中指定的,並且在表格的__init__
方法中進行if field.required == True:
檢查時會反映這個信息?定製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']。required ='''和'self.fields ['email']。required = true'具有不同的功能。我現在才瞭解它! –