我正在尝试更新数据库中的记录。表单渲染得很好,并从views.py接收输入。提交后重定向工作,但数据库未使用表单数据更新。我错过了什么?
class Party(db.Model):
id = db.Column(db.Integer, primary_key=True)
party_name = db.Column(db.String(64))
@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)
答案 0 :(得分:1)
您在更新前消除了更新。它实际上更新了数据库,但form.party_name.data = party.party_name
已覆盖您的新数据。