我有一个烧瓶应用程序连接到MySQL数据库并检索数据,但它不能插入任何内容。我正在使用flask-SQLAlchemy,并使用flaskwtforms生成表单。以下是模型
class Name(db.Model):
__tablename__ = 'names'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(45), nullable=False)
password = db.Column(db.String(45), nullable=False)
def __init__(self, id, name, password):
self.id = id
self.name = name
self.password = password
def __rep__(self):
return '<User %r>' % self.username
以下是表单本身
class AddUser(FlaskForm):
name = StringField(label= 'username', validators = [InputRequired('Username is required')])
password = StringField(label = 'password', validators = [InputRequired('Password is required')])
以下是视图功能
@app.route('/add_user', methods=['GET','POST'])
def add_user():
form = AddUser()
if request.method == 'POST' and form.validate_on_submit():
name = form.name.data
password = form.password.data
name = Name(name,password)
db.session.add(name)
db.session.commit()
return render_template('add-user.html')
else:
return render_template('add-user.html', form=form)
答案 0 :(得分:0)
我找到了解决问题的方法。所以在我的数据库中,id被设置为主键并且是自动生成的,因此它不需要在构造函数中传递,因为我的查询也需要我传递id。