2009-09-27 75 views
7

使用Python中的Postgres删除领域,替换/使用SQLAlchemy的

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

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

回答

9

Ad1。你需要这样的东西:

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

Ad2。同理:

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

您可以找到查询文件herehere

+0

我认为第二个答案删除整个行。我其实只想删除该字段。 – teggy 2009-09-27 20:38:59

+0

我试图用这样的东西来使字段为空,但它似乎并没有工作:session.query(Foo).filter_by(color ='green')。update({'color':''}) – teggy 2009-09-27 21:03:09

+1

尝试颜色':无 – iElectric 2009-09-28 06:40:36