jsonfield
A reusable Django field that allows you to store validated JSON in your model.
What it is and what it does
jsonfield is a Django model field for storing JSON data that handles serialization and deserialization automatically. It wraps JSON values so they can be persisted to the database and queried using basic lookups (exact, regex). The field supports customization of null handling and deserialization behavior (e.g., using OrderedDict for key ordering).
However, this package is deprecated and no longer maintained. Django 3.1 introduced a native JSONField that works across all supported database backends, making jsonfield obsolete. The package's last release was over a year ago, and its status is marked inactive. New projects should use Django's built-in JSONField; existing projects using jsonfield should plan a migration, which the documentation describes as generally straightforward but may require data migrations in complex cases.
Use it for:
- Storing flexible JSON structures in Django models when using older Django versions (pre-3.1) that lack native JSONField support.
- Migrating legacy Django applications that already use jsonfield and need to maintain compatibility during a transition period.
- Querying JSON fields with basic exact or regex lookups in projects that do not require advanced JSON query capabilities.
- Customizing JSON deserialization behavior (e.g., preserving key order with OrderedDict) in older Django codebases.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Django model field that stores and retrieves JSON data with automatic serialization and deserialization, now deprecated in favor of Django's native JSONField.
No—do not install this package for new projects. It is deprecated and inactive; Django 3.1+ provides a native, maintained JSONField. If you maintain legacy code already using jsonfield, plan a migration to Django's implementation. The package carries no security vulnerabilities but receives no updates and will eventually be archived.
Install
jsonfield on PyPI
pip
pip install jsonfielduv
uv add jsonfieldpoetry
poetry add jsonfieldInstalling jsonfield
Before you install
Low friction installation, but the package is marked inactive (Development Status 7) and explicitly deprecated since Django 3.1 introduced native JSONField support. Last release was 406 days ago. Existing projects should plan migration to Django's implementation rather than adopt this package.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it legally safe to use or modify—though the deprecation status makes long-term reliance inadvisable.
Quickstart
pip install jsonfield
from django.db import models
from jsonfield import JSONField
class MyModel(models.Model):
json = JSONField()
Requires Django and Python 3.10 or later. Package is deprecated; Django 3.1+ users should migrate to models.JSONField instead.
Verify before relying
- Whether existing projects using this package face any compatibility issues with current Django versions beyond the deprecation notice.
- Whether the migration path from jsonfield.JSONField to models.JSONField is truly straightforward for complex schemas or custom validators.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — django |
| Maintenance | aging — 406 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,121,912/month — #4,333 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: jsonfield-3.2.0-py3-none-any.whl
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
django-deprecate-fieldsProvides a decorator to mark Django model…
permissive · top 5,000 on PyPI
django-jsonfieldProvides a JSONField for Django models that…
permissive · top 15,000 on PyPI
django-picklefieldProvides a Django model field that stores and…
permissive · top 5,000 on PyPI
django-bitfieldProvides a BitField model field for Django that…
unclear · top 15,000 on PyPI
djangocms-attributes-fieldProvides a Django model field and widget for…
permissive · top 15,000 on PyPI
SQLAlchemy-JSONFieldProvides a SQLAlchemy column type for storing…
permissive · top 5,000 on PyPI
django-enumfieldsProvides Django model fields that store Python…
permissive · top 15,000 on PyPI
django-pydantic-fieldProvides type-safe Pydantic model schemas for…
permissive · top 5,000 on PyPI
php2jsonConverts PHP serialized strings to JSON format,…
permissive · top 15,000 on PyPI
django-multiselectfieldAdds model and form fields to Django that let…
copyleft · top 5,000 on PyPI