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()對象
可以正確執行。事務