Python flask,更新SQLAlchemy记录的更干净的方法
有没有比这更好的方法在flask中执行数据库更新:Python flask,更新SQLAlchemy记录的更干净的方法,python,flask,sqlalchemy,Python,Flask,Sqlalchemy,有没有比这更好的方法在flask中执行数据库更新: @author_blueprint.route("/updateAuthor/<int:author_id>", methods=["GET","POST"]) def updateAuthor(author_id): author = Author.query.get(author_id) form = AuthorForm(request.form, obj=author) if request.meth
@author_blueprint.route("/updateAuthor/<int:author_id>", methods=["GET","POST"])
def updateAuthor(author_id):
author = Author.query.get(author_id)
form = AuthorForm(request.form, obj=author)
if request.method == "POST" and form.validate_on_submit():
author.firstName = form.firstName.data //line 6
author.lastName = form.lastName.data //line 7
author.university = form.university.data.name //line 8
author.department = form.department.data.name //line 9
author.email = form.email.data //line 10
db.session.commit()
flash("Updated author Successfully")
return redirect(url_for("author.createAuthor"))
authors = author.query.all()
return render_template("author/author.html", title="authors", form=form, authors=authors)
@author\u blueprint.route(“/updateAuthor/”,方法=[“GET”,“POST”])
def updateAuthor(作者id):
author=author.query.get(author\u id)
form=AuthorForm(request.form,obj=author)
如果request.method==“POST”和form.validate\u on\u submit():
author.firstName=form.firstName.data//第6行
author.lastName=form.lastName.data//第7行
author.university=form.university.data.name//第8行
author.department=form.department.data.name//第9行
author.email=form.email.data//第10行
db.session.commit()
flash(“成功更新了作者”)
返回重定向(url_for(“author.createAuthor”))
authors=author.query.all()
返回呈现模板(“author/author.html”,title=“authors”,form=form,authors=authors)
我的记录是用这种方式更新的,但我确实想一个接一个地写入所有字段来进行更新,就像第6行到第10行那样
def update(author, form):
author.firstName = form.firstName.data
author.lastName = form.lastName.data
author.university = form.university.data.name
author.department = form.department.data.name
author.email = form.email.data
我想您正在寻找
表单。填充\u obj()
: