我正在使用 Flask-Admin,我希望能够从列表视图中一次更新许多字段。看来我正在寻找的是自定义操作。
我能够让它发挥作用,但我怀疑不是以最好的方式。我想知道是否可以做得更多“烧瓶”。
我现在做什么,例如,如果我正在更新表中的所有行cars
具有tires = 4
:
- 中的自定义操作
CarView
类收集要修改的行的 id,来自的回调 urlrequest.referrer
,和表名cars
,并返回render_template(mass_update_info.html)
以这些作为参数。
-
mass_update_info.html
是一个 HTML 表单,用户在其中指定 1) 他们想要更改的字段以及 2) 要将其更改为的值。提交时,表单会向某个视图发送 POST (do_mass_update
)与此数据(其他所有内容都作为此表单中的隐藏字段传递)。
-
do_mass_update
使用发送给它的数据来构造一个完整的 SQL 查询字符串,"UPDATE {} SET {}='{}' WHERE id IN ({})".format(table, column, value, ids)
-- 这是通过运行db.engine.execute()
.
- 用户被重定向到回调 URL。
令我困扰的是,我似乎没有使用任何 SQLAlchemy,但是(从新手的角度来看)这一切似乎都是基于模型对象,例如User.query(...)
,而我只能以字符串形式访问模型/表名称。我可以从模型中获取某种标识符,将其传递出去,然后进行查找以检索另一侧的标识符吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)