c = connection.cursor()
try:
c.execute("BEGIN")
c.callproc("fn_save_message3", (Message_Subject, Message_Content, Message_Type, Message_Category, Created_By, Updated_By))
results = c.fetchall()
c.execute("COMMIT")
finally:
c.close()
print results
Anda lupa parens penutup dan mencoba memanggil fungsi pada cursor
bukannya c
dan juga memiliki masalah dengan lekukan. Anda juga harus menggunakan callproc()
berfungsi seperti yang didokumentasikan di sini.
Seperti yang dikatakan catavaran, Anda harus membaca dokumentasi tentang menjalankan SQL kustom dan menggunakan placeholder. Juga, di Django 1.6+, transaksi dilakukan secara otomatis sehingga tidak perlu c.execute("COMMIT")