因此,我使用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')