Python 使用sqlalchemy替换/删除字段

Python 使用sqlalchemy替换/删除字段,python,postgresql,replace,sqlalchemy,Python,Postgresql,Replace,Sqlalchemy,在python中使用postgres 如何替换同一列中与指定值匹配的所有字段?例如,假设我想将“颜色”列中与“绿色”匹配的任何字段替换为“红色” 如何删除同一列中与指定值匹配的所有字段?例如,我试图删除颜色列中与“绿色”匹配的所有字段 Ad1。你需要这样的东西: session.query(Foo).filter_by(color = 'green').update({ 'color': 'red' }) session.commit() Ad2。同样地: session.query(Foo)

在python中使用postgres

  • 如何替换同一列中与指定值匹配的所有字段?例如,假设我想将“颜色”列中与“绿色”匹配的任何字段替换为“红色”

  • 如何删除同一列中与指定值匹配的所有字段?例如,我试图删除颜色列中与“绿色”匹配的所有字段


  • Ad1。你需要这样的东西:

    session.query(Foo).filter_by(color = 'green').update({ 'color': 'red' })
    session.commit()
    
    Ad2。同样地:

    session.query(Foo).filter_by(color = 'green').delete()
    session.commit()
    

    您可以找到查询文档和。

    我认为第二个答案删除了整行。实际上,我只想删除字段。我尝试使用类似的方法将字段设置为空,但似乎不起作用:session.query(Foo)。filter_by(color='green')。update({'color':''})
    session.query(Foo)。filter_by(color='green')。update({'color':''})
    应该可以正常工作。也许你没有承诺?无论如何,使用
    echo=True
    创建引擎(或配置
    sqlalchemy.engine
    logger)应该可以帮助您调试它。