如何使用WTForm中的数据更新MonogoDB对象

时间:2019-05-29 12:52:05

标签: mongodb flask jinja2 wtforms

因此,我使用model_form来构建WTForm,然后使用MongoDB对象的Data表单预先填充Form。

我通过POST方法发布ObjectID来获取对象。

然后我想更改表单中的值并将其保存回数据库。

现在的问题是,提交表单重新加载后,我通过POST收到的ID丢失了,这导致验证错误,因为我的ObjectID现在为None。

有没有办法解决这个问题?

@benutzerverwaltung_blueprint.route("/benutzerbearbeiten", methods=["GET", "POST"])
def benutzerBearbeiten():
bearbeiten = model_form(databaseClasses.Benutzer, field_args={'gebdat': 
{'format': '%d.%m.%Y'}})

benutzerID = request.args.get('id')
benutzer = databaseClasses.Benutzer.objects.get(id=benutzerID)
form = bearbeiten(request.form, obj=benutzer)

if request.method == 'POST' and form.validate_on_submit():
    bearbeiten.populate_obj(benutzer)
    benutzer.save()
    return redirect(url_for("benutzerverwaltung_blueprint.benutzerliste"))

return render_template('BenutzerBearbeiten.html', title='Benutzer bearbeiten', bearbeiten=form, role='Admin',
                   username='Strohhut')

0 个答案:

没有答案