I have compiled SQLite 3.36.0 with Python3.9 but Django projects still show 
the following error:

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


# python3.9
Python 3.9.6 (default, Jul  7 2021, 01:19:48) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> print(sqlite3.sqlite_version)
3.36.0


If I commented out the following section in settings.py, the error is gone 
and the server can be started properly.

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

My question is, how did django determine sqlite3's version?

Before installing SQLite3.36.0, Python was using the old SQLite 3.7.17 and 
the error message showed the lower version. Now that it is using the higher 
version, the error message just said the subject line while the version is 
definitely higher than 3.8.3 as you can see from the above output.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/34b45b6c-0f81-4ffa-9950-13dc42443aean%40googlegroups.com.

Reply via email to