报错信息
django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher
使用 sqlite3 有时候会出现跟 django 版本不兼容的问题。
如果我们还想使用 sqlite3 该怎么办?
解决方法
安装pysqlite3
pip3 install pysqlite3
pip3 install pysqlite3-binary
使用pysqlite3(两种方式)
- 修改 manage.py 启动文件
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'application.settings')
try:
from django.core.management import execute_from_command_line
import pysqlite3
sys.modules['sqlite3'] = pysqlite3
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
- 修改源码
进入如下路径中的文件:
env/lib/python3.8/site-packages/django/db/backends/sqlite3/base.py
然后:
# from sqlite3 import dbapi2 as Database # 注释
from pysqlite3 import dbapi2 as Database # 新增导入
标签:__,pysqlite3,django,版本,import,sqlite3,过低,main
From: https://www.cnblogs.com/BaiJiaZhengMing/p/17839121.html