Flask-Admin中的批量编辑

时间:2015-07-02 14:36:41

标签: python python-2.7 flask flask-sqlalchemy flask-admin

我正在使用Flask-Admin,我希望能够从列表视图中一次更新多个字段。看起来我正在寻找的是一种自定义动作。

我能够使它工作,但我怀疑不是最好的方式。我想知道是否可以做得更多" Flask" -ily。

我现在所做的事情,例如,如果我要更新表cars中的所有行以获得tires = 4

  • CarView类中的自定义操作会收集要修改的行的ID,来自request.referrer的回调网址和表名cars,并返回render_template(mass_update_info.html)将这些作为参数。
  • mass_update_info.html是一个HTML表单,用户指定1)他们想要更改的字段和2)要将其更改为的值。在提交时,表单使用此数据对某个视图(do_mass_update)进行POST(其他所有内容都作为此表单中的隐藏字段传递)。
  • do_mass_update使用发送给它的数据构建一个SQL查询字符串 - 完整地"UPDATE {} SET {}='{}' WHERE id IN ({})".format(table, column, value, ids) - 通过db.engine.execute()运行。
  • 用户被重定向到回调网址。

让我感到困扰的是,我似乎没有使用任何SQLAlchemy,但是(从新手的角度来看)它似乎都基于模型对象,例如User.query(...),而我只能访问模型/表名作为字符串。我可以从模型中获取某种标识符,通过它,然后执行查找以检索另一侧的标识符吗?

0 个答案:

没有答案