Creé un proyecto de Django con el nuevo JSONField anunciado en Django 3.1, que admite todas las bases de datos.
Utilicé con éxito este campo en una máquina Linux, pero la ejecución de python manage.py migrate con el mismo proyecto en Windows falla con el siguiente mensaje:
(fields.E180) SQLite does not support JSONFields.Las mismas versiones de Python y Django se utilizan en ambas PC.
Para usar JSONField con Django 3.1+ y sqlite, se debe instalar la extensión JSON1 sqlite .
Para habilitar JSON1 en sqlite, siga las instrucciones en la wiki de Django: https://code.djangoproject.com/wiki/JSON1Extension .
Instrucciones para Windows:
python -c "import platform;print(platform.architecture()[0])"%localappdata%\Programs\Python\PythonXX , donde XX es la versión de Python. Por ejemplo, se encuentra en C:\Users\<username>\AppData\Local\Programs\Python\Python37 . Si agregó el directorio de instalación de Python a su variable de entorno PATH, puede ejecutar el comando where python en un símbolo del sistema para localizarlo. Ingrese al directorio de DLL en su instalación de Python.sqlite3.dll dentro del directorio de DLLs .sqlite3.dll del archivo DLL descargado y colóquelo en el directorio DLLs .