烧瓶 + SQLAlchemy。有一个页面有大量相同类型的表单(测试),通过AJAX进行表单序列化,问题是表单是动态生成的(form_1,form_2等),因为它们是统一的。每个表单对应于数据库表中的一条记录。问题是我找不到如何动态替换路由中的字段名称。
@app.route('/check', methods=['POST'])
def check():
form = Form()
if request.method == "POST":
field = request.form.get('answerField')
ans_number = 'task_' + request.form.get('answerNumber')
answer.ans_number = field
因此,表中不存在 ans_number 属性;它必须是该变量的值。是否有标准的 SQLAlchemy 工具或者我应该使用 sqlite 吗?将来会有过渡到 MySQL,所以 sqlite 不是一个选项。
我自己找到了答案。这必须使用 setattr(obj,'attr', value) 函数完成,其中 obj 是烧瓶模型的名称,'attr' 是可以生成的字符串(在我的情况下是循环),其中包含模型字段的名称,value 是我们要在字段中写入的值。