我收到了:django.db.utils.OperationalError: database table is locked
错误(一个哦,那个问题有很多副本)所有答案都参考了这个页面:
https://docs.djangoproject.com/en/dev/ref/databases/#database-is-locked-errorsoption
虽然我明白发生了什么,但我显然不太了解Python和Django以理解指令。该指令是增加超时,如:
'OPTIONS': {
# ...
'timeout': 20,
# ...
}
但对于那些非常小的大脑来说,要确切了解该代码的确切位置并不容易。有人可以给我一些更多的背景吗?在我的Django项目中,我指定了这些选项吗?它可以成为一般的Django设置吗?超时听起来有点过于笼统的名字......
答案 0 :(得分:3)
所以,是的,它会进入设置文件,但不仅仅是直接在设置文件中,而是在DATABASES下(当然)。
我的DATABASES部分现在看起来有点像这样:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'OPTIONS': {
'timeout': 20, # in seconds
# see also
# https://docs.python.org/3.7/library/sqlite3.html#sqlite3.connect
}
}
}
这似乎已经成功了。也许这对其他人来说都是显而易见的,也许不是。对于小脑袋而言,这并不总是那么容易。