我们有一个Django应用程序连接到远程SQL服务器数据库
当我试图对数据库表执行更新请求时,我遇到了一个错误:[HY000] [FreeTDS][SQL Server]Could not change transaction status (0) (SQLSetConnectAttr).
我得出结论,类似的请求仍在进行中,它阻止了我的所有请求
1/";自动提交";参数为True
2/I测试了:connection.rollback()
这并没有解决问题
3/我尝试对数据库执行实时SQL查询
我的查询没有返回错误
这是Django或使用的库的问题
追溯:
_set_autocommit(self,autocommit(中的
/venu/src/django pyodbc azure/sql_server/pydbc/base.pyc
361其他:
362 self.connection.rollback((
->363 self.connection.autocommit=autocommit
364
365 def check_contraints(self,table_names=None(:
错误:('HY000','[HY000][FreeTDS][SQL Server]无法更改
事务状态(0((SQLSetConnectAttr('(
有人有主意吗?
问题已解决
我删除了以下行:
if not ModelName.objects.filter(pk=instance.pk)
我的代码:
@receiver(pre_save, sender=ModelName)
def model_name_pre_save(sender, instance, **kwargs):
if not ModelName.objects.filter(pk=instance.pk):
instance.field_name = value