2009-09-27 41 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