【问题标题】:Replace/delete field using sqlalchemy使用 sqlalchemy 替换/删除字段
【发布时间】:2010-12-01 20:06:46
【问题描述】:

在python中使用postgres,

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

  2. 如何删除同一列中与指定值匹配的所有字段?例如,我正在尝试删除“颜色”列中与“绿色”匹配的所有字段。

【问题讨论】:

    标签: python postgresql replace sqlalchemy


    【解决方案1】:

    广告 1。你需要这样的东西:

    session.query(Foo).filter_by(color = 'green').update({ 'color': 'red' })
    session.commit()
    

    广告 2。同样:

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

    您可以找到查询文档herehere

    【讨论】:

    • 我认为第二个答案会删除整行。我实际上只想删除该字段。
    • 我尝试使用类似的方法使字段为空,但似乎不起作用: session.query(Foo).filter_by(color = 'green').update({ 'color': ' ' })
    • session.query(Foo).filter_by(color = 'green').update({ 'color': '' }) 应该可以正常工作。也许你没有承诺?无论如何,使用echo = True 创建引擎(或配置sqlalchemy.engine 记录器)应该可以帮助您调试它。
    猜你喜欢
    • 2021-05-23
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 2015-05-08
    • 1970-01-01
    • 2020-04-20
    相关资源
    最近更新 更多