这是我的游标执行代码。
from django.db import connection
cursor = connection.cursor()
cursor.execute("Some insert/Update query")
Cursor执行成功,因为它将输出作为插入的ID返回。但它没有在数据库中显示插入的值。
我试图关闭连接但没有成功。
cursor.close()
Connection.close()
如果我尝试使用Connection.commit()
,但它会出错。
Exception Type: TransactionManagementError
Exception Value: This code isn't under transaction management
我找到了一个惊人的行为。 如果我使用Connection.commit,那么它会给出错误,但它会成功插入行。 没有connection.com,它既不会给出错误,也不会在数据库中插入行。
我使用MS-SQL服务器作为后端连接使用sqlserver_ado。
答案 0 :(得分:0)
答案 1 :(得分:0)
你的django版本应该低于1.6
你应该手动提交它 使用
django.db.transaction.commit_unless_managed()
或
import django
if not django.get_version().startswith('1.6'):
# when version=1.5 not auto-commit, commit here
django.db.transaction.commit_unless_managed()