A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://code.djangoproject.com/wiki/JSON1Extension below:

JSON1Extension – Django

Enabling JSON1 extension on SQLite

To use django.db.models.JSONField on SQLite, you need to enable the JSON1 extension on Python's sqlite3 library. If the extension is not enabled on your installation, a system error (fields.E180) will be raised. To check if the extension is enabled on your installation, you can do a query with one of the functions included in the extension, e.g. JSON(). For example:

>>> import sqlite3
>>> conn = sqlite3.connect(':memory:')
>>> cursor = conn.cursor()
>>> cursor.execute('SELECT JSON(\'{"a": "b"}\')')

If the query doesn't throw any errors, then the JSON1 extension is already enabled. Otherwise, follow the instructions below according to your operating system to set it up correctly.

Linux

On most major Linux distributions, the JSON1 extension is included in their SQLite and/or Python packages and enabled by default. If that's not the case on your installation, then do the following:

macOS

As of Python 3.7, the official Python installer on macOS already includes the JSON1 extension by default. If you're using an earlier version of Python or unofficial installers, you can follow the instructions for Linux above, but instead of setting the LD_PRELOAD environment variable, use DYLD_LIBRARY_PATH. For example:

export DYLD_LIBRARY_PATH=/usr/lib/sqlite3
Windows

As of Python 3.9, the official Python installer on Windows already includes the JSON1 extension by default. If you're using an earlier version of Python or unofficial installers, you can do the following:

Other workarounds Load the JSON1 extension dynamically

The following workaround works by compiling the JSON1 extension as a loadable extension and loading it when the database connection is created by utilizing Django's connection_created signal. It hasn't been tested, but it should work on Linux, macOS, and Windows.

Note:

See

TracWiki

for help on using the wiki.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4