Skip to main content

JSON input widget for paper-admin

Project description

paper-jsoneditor

JSON input widget for paper-admin.

PyPI Build Status Software license

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: image

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")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paper-jsoneditor-0.4.1.tar.gz (907.7 kB view details)

Uploaded Source

Built Distribution

paper_jsoneditor-0.4.1-py2.py3-none-any.whl (915.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file paper-jsoneditor-0.4.1.tar.gz.

File metadata

  • Download URL: paper-jsoneditor-0.4.1.tar.gz
  • Upload date:
  • Size: 907.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for paper-jsoneditor-0.4.1.tar.gz
Algorithm Hash digest
SHA256 9423b4ca7825d88b898267dd0acb6541929737c13a95aaa2bc407d919f46b5b7
MD5 2e200dd0a901ccb7223b2ef5efbc34c2
BLAKE2b-256 1aa08f27e6f7f409fa3ff14394d83c19713b31c822fee791264b1fcd037f2db8

See more details on using hashes here.

File details

Details for the file paper_jsoneditor-0.4.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for paper_jsoneditor-0.4.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ab38f6f5457273b67cecadb42c4ce5efb0f2a773089ed150c0ca5338c6b740dd
MD5 35a6cc5af5d4f695b7ec50d6f257380c
BLAKE2b-256 f5ac07ef2322f19ccafd7b594a5b18a80a534f55c856ebf4b0644af6c3005b4f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page