无法使用flask-SQLAlchemy将数据插入MySQL数据库

时间:2018-03-12 12:25:50

标签: flask flask-sqlalchemy

我有一个烧瓶应用程序连接到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)   

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。所以在我的数据库中,id被设置为主键并且是自动生成的,因此它不需要在构造函数中传递,因为我的查询也需要我传递id。