Thursday, July 8, 2021

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

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+unsubscribe@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.

No comments:

Post a Comment