Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Flask Admin中的批处理编辑_Python_Python 2.7_Flask_Flask Sqlalchemy_Flask Admin - Fatal编程技术网

Python Flask Admin中的批处理编辑

Python Flask Admin中的批处理编辑,python,python-2.7,flask,flask-sqlalchemy,flask-admin,Python,Python 2.7,Flask,Flask Sqlalchemy,Flask Admin,我正在使用Flask Admin,我希望能够从列表视图一次更新多个字段。看起来我要找的是一个定制的动作 我能让它工作,但我怀疑不是以最好的方式。我想知道是否可以做得更多 例如,如果我正在更新表cars中的所有行,使其具有tires=4,我现在所做的是: CarView类中的自定义操作收集要修改的行的ID、来自request.referer的回调url和tablenamecars,并返回render\u模板(mass\u update\u info.html),将这些作为参数 mass\u up

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

我能让它工作,但我怀疑不是以最好的方式。我想知道是否可以做得更多

例如,如果我正在更新表
cars
中的所有行,使其具有
tires=4
,我现在所做的是:

  • CarView
    类中的自定义操作收集要修改的行的ID、来自
    request.referer
    的回调url和tablename
    cars
    ,并返回
    render\u模板(mass\u update\u info.html)
    ,将这些作为参数
  • mass\u update\u info.html
    是一种html表单,用户在其中指定1)要更改的字段和2)要更改的值。提交时,表单使用此数据向特定视图(
    do\u mass\u update
    )发布帖子(其他内容在此表单中作为隐藏字段传递)
  • do\u mass\u update
    使用发送给它的数据构造一个SQL查询字符串——整体而言,
    “update{}SET{}='{}',WHERE id in({})”.format(table,column,value,ids)
    ——通过
    db.engine.execute()运行
  • 用户被重定向到回调url

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

听起来差不多。不过,我会使用动态查询生成器而不是字符串连接。请看这里: