尝试编辑条目,但数据库不更新

Trying to edit an entry, but DB does not update

我正在尝试更新数据库中的记录。表单呈现良好并接收来自 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)

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