A reusable Django field that allows you to store validated JSON in your model.
Project description
django-jsonfield
django-jsonfield is a reusable Django field that allows you to store validated JSON in your model.
It silently takes care of serialization. To use, simply add the field to one of your models.
New: Python 3 support added!
Install
pip install jsonfield
Usage
from django.db import models
from jsonfield import JSONField
class MyModel(models.Model):
json = JSONField()
Advanced Usage
By default python deserializes json into dict objects. This behavior differs from the standard json behavior because python dicts do not have ordered keys.
To overcome this limitation and keep the sort order of OrderedDict keys the deserialisation can be adjusted on model initialisation:
import collections
class MyModel(models.Model):
json = JSONField(load_kwargs={'object_pairs_hook': collections.OrderedDict})
Other Fields
jsonfield.JSONCharField
If you need to use your JSON field in an index or other constraint, you can use JSONCharField which subclasses CharField instead of TextField. You’ll also need to specify a max_length parameter if you use this field.
Contact
Changes
v0.9.14, 04/29/2013 – Python 3 support added
v0.9.11/12/13, 03/26/2013 – PyPi changes
v0.9.9/10/11, 03/21/2013 – PyPi changes
v0.9.8, 03/21/2013 – Added support for native PostgreSQL JSON data type
v0.9.7, 03/21/2013 – Fix bug #33 where JSONField didn’t correctly store some values inside of strings
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file jsonfield-0.9.14.tar.gz
.
File metadata
- Download URL: jsonfield-0.9.14.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5124a8c8341e20ec8490a16e3cc73655f322a1352b7ac4c2bb86d1fe30af90f |
|
MD5 | a2302bbc915fee6789edc79189da2fe0 |
|
BLAKE2b-256 | 09baa4db38587ba4fab4b814c0f4ab48c34b33633e0ad308c6a35ef594ea45ed |