(优发娱乐平台) flask sqlalchemy 有没有表单字典键值快速更新的方法

类似于修改个人资料,表单对应数据库
flask-WTF 从表单获得的 form.data 是一个字典的结构:{id: 1, name=123}
因为如果用下面这种方法更新数据,表单长了这样重复的代码就太长了,所以请问 sqlalchemy 有没有把字典传进去自动处理?
a.id = form.data[id]
a.name = form.data[name]
db.session.commit

a.updateform.data
这是字典的一个基本方法,与sqlalchamy无关。

楼上都好像没有答道楼主的点上,楼主的需求大概是想把form直接转成orm的数据

楼主大概需要这个 http://wtforms.simplecodes.com/docs/0.6.1/forms.html#wtforms.form.Form.populate_obj

def edit_profilerequest: user = User.objects.getpk=request.session[userid] form = EditProfileFormrequest.POST, obj=user if request.POST and form.validate: form.populate_objuser user.save return redirect/home return render_to_responseedit_profile.html, form=form

用getter和setter方法啊

for key in form.data.iterkeys: ifhasattra,key: settera,key,form.data[key]

sqlalchemy官方文档上有说明,更新数据库表记录一般都是先查出来,然后再更新,最后提交数据库会话。
然而sqlalchemy也支持sql语句,可以自己写,不过自己写的可能比较困难,要考虑到很多安全方面的问题
附官方文档链接http://docs.sqlalchemy.org/en/latest/cor…

发表评论

电子邮件地址不会被公开。 必填项已用*标注