paper-jsoneditor 0.4.1

Creator: codyrutscher

Last updated:

0 purchases

paper-jsoneditor 0.4.1 Image
paper-jsoneditor 0.4.1 Images
Add to Cart

Description:

paperjsoneditor 0.4.1

paper-jsoneditor
JSON input widget for paper-admin.



Compatibility

python >= 3.6
django >= 3.1
paper-admin >= 6.0

Installation
Install the latest release with pip:
pip install paper-jsoneditor

Add paper_jsoneditor to your INSTALLED_APPS in django's settings.py:
INSTALLED_APPS = (
# other apps
"paper_jsoneditor",
)

Usage
from django.db import models
from django.utils.translation import gettext_lazy as _
from paper_jsoneditor.fields import JSONField


class SampleModel(models.Model):
data = JSONField(_("JSON"))

class Meta:
verbose_name = _("Sample")

Result:

Preserving JSON object keys order
By default, Django uses the jsonb internal type for JSONField (for PostgreSQL).
From the Postgres documentation:

<...> jsonb does not preserve white space, does not preserve the order
of object keys, and does not keep duplicate object keys. If duplicate keys
are specified in the input, only the last value is kept.
In general, most applications should prefer to store JSON data as jsonb,
unless there are quite specialized needs, such as legacy assumptions about
ordering of object keys.

If you really do need to preserve the key order, use OrderedJSONField.
It uses the TEXT type to store data:
from django.db import models
from django.utils.translation import gettext_lazy as _
from paper_jsoneditor.fields import OrderedJSONField


class SampleModel(models.Model):
data = OrderedJSONField(_("JSON"))

class Meta:
verbose_name = _("Sample")

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.