我总是在捕获完整性错误()异常的页面之后得到一个锁定的sqlite3数据库。锁定可能是由错误的异常处理引起的吗?如果可以,正确的处理方式应该是什么?IntegrityError
目前,我只是捕获异常并为流式视图打印一行:
try:
Model(pk='key').save()
Model(pk='key').save()
except IntegrityError:
yield 'Already existing in the database'
后来,在另一页上,当我尝试 aModel.objects.all().delete()
我收到DatabaseError: database is locked
.
这不是性能问题,因为我只是在测试服务器上运行它,并且锁定一直存在,直到我重新启动服务器。我正在考虑锁定在数据库上的线程,可能是因为在异常之后我应该释放某种资源。