Habe es jetzt mal für mich etwas umgebaut:
Gibts da nicht auch irgendwo mal ein "Post" (damit die Daten zur Datenbank übertragen werden) und vieleicht auch ein Commit für die Transaktion?
Das Post steht dort bereits: als letzte Zeile vor dem finally. Commit braucht er nur, wenn Autocommit auf False steht (bei mir meistens true).