Я пытаюсь создать пользователей для своего блога, но когда я пробую использовать функциональность кода, возникает ли ошибка, может ли кто-нибудь мне помочь?
Error MSG
(psycopg2.errors.NotNullViolation) el valor null para la columna «name» viola la restricción not null
models,py
class User(db.Model, UserMixin):
__tablename__ = 'blog_user'
__table_args__ = { 'extend_existing': True}
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
email = db.Column(db.String(256), unique=True, nullable=False)
def show_signup_form():
if current_user.is_authenticated:
return redirect(url_for('public.index'))
form = SignupForm()
error = None
if form.validate_on_submit():
name = form.name.data
email = form.email.data
password = form.password.data
# Comprobamos que no hay ya un usuario con ese email o nombre
user = User.get_by_email(email)
name = User.get_by_name(name)
if user is not None:
error = f'El email {email} ya está siendo utilizado por otro usuario'
elif name is not None:
error = f'El Nombre de Invocador {name} ya está siendo utilizado por otro usuario si crees que se trata de un plagio contactate con nosotros'
# Creamos el usuario y lo guardamos
user = User(name=name, email=email,region=region, mainl=mainl, main2=main2)
user.set_password(password)
user.save()
# Enviamos un email de bienvenida
send_email(subject='Bienvenid@ al U-ProTeam',
sender=current_app.config['DONT_REPLY_FROM_EMAIL'],
recipients=[email, ],
text_body=f'Hola {name}, bienvenid@ a U-ProTeam',
html_body=f'<p>Hola <strong>{name}</strong>, bienvenid@ a U-ProTeam</p>')
# Dejamos al usuario logueado
login_user(user, remember=True)
next_page = request.args.get('next', None)
class SignupForm(FlaskForm):
name = StringField('Nombre de Invocador', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
password2 = PasswordField('Repeat Password', validators=[DataRequired(), EqualTo('password')])
email = StringField('Email', validators=[DataRequired(), Email()])
Не понимаю, почему ошибка, если остальные поля принимают данные без проблем. также, когда я удаляю значение null, пользователь сохраняет меня с именем null, и это не помогает мне в разработке остальной части моего кода