IntegrityError at /register/ NOT NULL constraint failed: auth_user.description
Я на последних этапах развертывания моего приложения django на веб-сервере, но недавно получил эту ошибку при попытке зарегистрировать нового пользователя IntegrityError at /register/ NOT NULL constraint failed: auth_user.description
Я повторно проверил ошибку с включенным DEBUG, и он говорит, что непосредственная причина проблемы находится в строке 17 в секции register моего файла views.py, которая выглядит следующим образом:
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST)
if form.is_valid():
user = form.save(commit= False)
username = form.cleaned_data.get('username')
is_teacher = form.cleaned_data.get('is_teacher')
if is_teacher == True:
user.is_staff = True
user.save() *LINE 17*
else:
user.is_staff = False
user.save()
messages.success(request, f'Tu cuenta se ha creado correctamente, ahora puedes iniciar sesión')
return redirect('login')
else:
form = UserRegisterForm()
return render(request, 'users/register.html', {'form': form})
Users Forms.py
class UserRegisterForm(UserCreationForm):
email = forms.EmailField(
label= 'Correo Electrónico',
required=True,
)
username = forms.CharField(
max_length=100,
required=True,
label='Nombre de Usuario'
)
password1 = forms.CharField(
label = "Contraseña",
required=True
)
password2 = forms.CharField(
label = "Confirmar Contraseña",
required=True,
)
is_teacher = forms.BooleanField(
label='Soy profesor/a',
required=False,
)
class Meta:
model = User
fields = ['username', 'email', 'password1', 'password2', 'is_teacher']
Users models.py
class AbstractUser(AbstractBaseUser, PermissionsMixin):
"""
An abstract base class implementing a fully featured User model with
admin-compliant permissions.
Username and password are required. Other fields are optional.
"""
username_validator = UnicodeUsernameValidator()
username = models.CharField(
_('username'),
max_length=150,
unique=True,
help_text=_('Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.'),
validators=[username_validator],
error_messages={
'unique': _("A user with that username already exists."),
},
)
first_name = models.CharField(_('first name'), max_length=150, blank=True)
last_name = models.CharField(_('last name'), max_length=150, blank=True)
email = models.EmailField(_('email address'), blank=True)
description = models.CharField(_('About me'), max_length=600, blank=True)
is_staff = models.BooleanField(
_('staff status'),
default=False,
help_text=_('Designates whether the user can log into this admin site.'),
)
is_active = models.BooleanField(
_('active'),
default=True,
help_text=_(
'Designates whether this user should be treated as active. '
'Unselect this instead of deleting accounts.'
),
)
date_joined = models.DateTimeField(_('date joined'), default=timezone.now)
objects = UserManager()
EMAIL_FIELD = 'email'
USERNAME_FIELD = 'username'
REQUIRED_FIELDS = ['email']
class Meta:
verbose_name = _('user')
verbose_name_plural = _('users')
abstract = True
Проблема в том, что я не понимаю, почему он говорит, что это проблема, поскольку я много раз тестировал эту функцию на своем локальном сервере. Любая помощь будет очень признательна.