我正在尝试自动更新数据库,因为我有很多列。 我已成功使用for循环显示数据库,但提交对数据库的更改时遇到问题:
@app.route('/listvehicle/<int:vehicle_id>/update', methods=['GET', 'POST'])
@login_required
def update_vehicle(vehicle_id):
vehicle = Vehicle.query.get_or_404(vehicle_id)
form = VehicleUpdateForm()
if form.validate_on_submit():
for attr,value in vehicle.__dict__.items():
for ia in form:
if ia == attr:
vehicle.__dict__[attr] = form.__dict__[ia]
db.session.commit()
flash(f'The user has been updated', 'success')
return redirect(url_for('listvehicle'))
elif request.method == 'GET':
for attr,value in vehicle.__dict__.items():
for ia,iv in form.__dict__.items():
if ia == attr:
iv.data = value
return render_template('updatevehicle.html', form=form)
对提交数据库更改有帮助吗?你知道吗
我建议您发布模型和表单定义,但是在没有看到它的情况下,我建议您使用不同的方法,使用双下划线(
__dict__
)更改任何内容都是非常不鼓励的。你知道吗我看到了一个改进,只需使用^{} 并迭代表单数据即可:
相关问题 更多 >
编程相关推荐