尝试编辑条目,但DB不会更新

时间:2017-01-13 20:47:48

标签: python flask flask-sqlalchemy flask-wtforms

我正在尝试更新数据库中的记录。表单渲染得很好,并从views.py接收输入。提交后重定向工作,但数据库未使用表单数据更新。我错过了什么?

model.py

class Party(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    party_name = db.Column(db.String(64))

views.py

@main.route('/edit-party/<int:id>', methods=['GET', 'POST'])
def edit_party(id):
    party = Party.query.filter_by(id=id).first_or_404()
    form = PartyForm()
    form.party_name.data = party.party_name
    if form.validate_on_submit():
        party.party_name = form.party_name.data
        db.session.add(party)
        return redirect('parties')
    return render_template('edit.html', form=form)

1 个答案:

答案 0 :(得分:1)

您在更新前消除了更新。它实际上更新了数据库,但form.party_name.data = party.party_name已覆盖您的新数据。