2009-06-09 1 views
8

を生SQL更新/削除を実行し、戻り行数:http://docs.djangoproject.com/en/dev/topics/db/sql/Djangoは - ここにドキュメントをオフに行く

>>>cursor = connection.cursor() 
>>>cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz]) 
>>>print cursor.fetchone() 
None 

誰もがカウント変更された行を返す方法を知っていますか?

(注:私はtransaction.commit_unless_managedの配置/順序(と周りにプレイしました)とcursor.fetchone()(も)(cursor.fetchall)と、違いを確認していないようです)

ありがとう! -Tom

答えて

21

例のようにUPDATE文が行結果を返さないため、fetchone()は常に空です(またはエラーが発生する可能性があります)。

最後に影響を受けた行を取得するには、cursor.rowcountを使用してください。

関連する問題