我在我的应用程序中做了一些重复的操作(测试),突然我收到一个奇怪的错误:
OperationalError: database is locked
我已经重新启动服务器,但是错误仍然存在。可能是什么呢?
从Django文档中:
SQLite是一个轻量级的数据库,因此不支持高级别的并发性。OperationalError:数据库已锁定错误,表明你的应用程序并发性超过sqlite在默认配置下无法处理的并发性。此错误意味着一个线程或进程在数据库连接上具有排他锁,而另一个线程超时,等待释放该锁。
Python的SQLite包装器具有默认的超时值,该值确定第二个线程在超时之前允许等待锁多长时间,并引发OperationalError:数据库被锁定错误。
如果遇到此错误,可以通过以下方法解决: