Я использую стандарт Django django.contrib.auth.models
для реализации авторизации на моем веб-сайте. Я добавил поле NON-NULL email
в таблицу DB auth_user
. Проблема заключается в том, что в ORM Django email
представляется нулевым. Другими словами, Django не уважает ненулевой атрибут поля БД в MySQL. Есть ли способ сообщить Django, что это поле требуется, как указано в БД, и чтобы отразить эту информацию при выполнении if field.required == True:
проверки внутри метода формы __init__
?Пользовательская пользовательская модель 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' имеют разные функциональные возможности. Я понял это только сейчас! –