skillfed

django-jsonfield

JSONField for django models

django-jsonfield v1.4.1 125.4K downloads/30d#11,821 on PyPI30
Permissive license Abandoned released

What it is and what it does

django-jsonfield is a Django model field that stores JSON-encodable Python objects (dicts, lists, strings) as text in the database and automatically deserializes them back to Python on retrieval. It was created in 2010 to fill a gap when databases lacked native JSON support, but that landscape has changed significantly.

The package is now in maintenance-only mode and explicitly abandoned. Django 3.1 (released August 2020) introduced a native cross-database JSONField that supersedes this library. The maintainer recommends using either Django 3.1's built-in field, the django-jsonfield-backport package for older Django versions, or simply storing JSON in a TextField if you don't need database-level querying of JSON contents.

Use it for:

  • Storing flexible, schema-less JSON data in Django models on older Django versions (pre-3.1) that lack native JSONField support.
  • Migrating legacy projects that already use this field and cannot yet upgrade to Django 3.1+.
  • Adding a jsonify template tag to convert Python data structures to JSON within Django templates with XSS protection.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a JSONField for Django models that stores JSON-encodable objects in the database and deserializes them on retrieval.

No. The package is abandoned (last commit June 2021, repository archived) and the maintainer explicitly recommends against using it on new projects. Use Django 3.1's native JSONField instead, or django-jsonfield-backport for older Django versions. Only install if maintaining legacy code already using this field.

Install

django-jsonfield on PyPI

pip

pip install django-jsonfield

uv

uv add django-jsonfield

poetry

poetry add django-jsonfield

Installing django-jsonfield

Before you install

Low install friction with only Django and six as runtime dependencies. However, the package is abandoned as of June 2021 and explicitly not recommended for new projects—Django 3.1+ includes a native cross-database JSONField that should be used instead.

License in practice

Licensed under BSD (permissive), so no legal restrictions on use, but the abandoned status and explicit recommendation against new projects should weigh more heavily than the license.

Quickstart

pip install django-jsonfield

from django.db import models
import jsonfield

class MyModel(models.Model):
    the_json = jsonfield.JSONField()

Requires Django 1.8 or later; not compatible with Django 3.1+ without conflicts (see issue #5 regarding django.contrib.postgres.fields.JSONField interference).

Verify before relying

  • Whether the package works reliably with modern Django versions beyond 2.2 (last tested version mentioned in history).
  • Current state of compatibility with Python 3.8+ given the package's age and abandoned status.

Package facts

License not declared (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — Django, six
Maintenance abandoned — 2,116 days since the last release
Last repo commit (repository archived)
First released
Downloads 125,407/month — #11,821 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: django_jsonfield-1.4.1-py2.py3-none-any.whl

Development Status :: 6 - MatureFramework :: DjangoFramework :: Django :: 1.11Framework :: Django :: 2.0Framework :: Django :: 2.1Framework :: Django :: 2.2Intended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 3

Tags

django json fieldstore json in django modelsdjango jsonfieldjson serialization djangodjango model json column
legacydjango-orm

More Database packages