sqlite3版本过低

报错信息

django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher

使用 sqlite3 有时候会出现跟 django 版本不兼容的问题。
如果我们还想使用 sqlite3 该怎么办?

解决方法

安装pysqlite3

pip3 install pysqlite3 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install pysqlite3-binary -i https://pypi.tuna.tsinghua.edu.cn/simple

使用pysqlite3(两种方式)

  • settings.py中添加
#!/usr/bin/env python
import os, sys
import pysqlite3
sys.modules['sqlite3'] = pysqlite3

  • 修改源码
进入如下路径中的文件:
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 pysqlite3-binary

pip uninstall pysqlite3
pip uninstall pysqlite3-binary

然后重复安装的操作即可。

posted @ 2023-11-17 16:40  此用户名不可用  阅读(643)  评论(0)    收藏  举报