使用django框架的connection對象須要注意的一點

django容許咱們執行自定義的SQL語句。首先須要import connection對象:數據庫

from django.db import connectiondjango

connection對象封裝了db-api規範中定義的connection對象。可是dir(connection)以後並無發現commit和rollback方法,如何提交事務呢?當執行DELETE、INSERT、UPDATE後,必須connection對象的commit方法才能將數據寫入的數據庫中。api

緣由以下:connection對象中包含又一個connection對象,它纔是真正的與實際數據庫創建的connection對象。以下代碼:spa

connection.cursor().execute("INSERT INTO table1 (col) VALUES ('something')")
connection.connection.commit()orm

try:
  raise Exception("some thing goes wrong! :(")
except Exception:
  connection.connection.rollback()對象

可以正確執行。事務

相關文章
相關標籤/搜索