jon*_*alv 4 python sqlite django
我收到: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,
# ...
}
Run Code Online (Sandbox Code Playgroud)
但是对于一个小脑袋的熊来说,要准确理解代码的去向并不那么容易。有人可以给我更多的上下文吗?在我的 Django 项目中,我应该在哪里指定这些选项?它不可能是通用的 Django 设置,可以吗?超时听起来有点过于笼统的名称......
所以,是的,它在设置文件中,但不仅直接在设置文件中,而且在 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
}
}
}
Run Code Online (Sandbox Code Playgroud)
这似乎成功了。也许这对其他人来说是显而易见的,也可能不是。对于一个小脑袋熊来说,这并不总是那么容易。
归档时间: |
|
查看次数: |
4636 次 |
最近记录: |