JSON Schema validation for Django JSONField.
pip install jsonfield-validationfrom jsonfield_validation import JsonSchemaValidator
class MyModel(models.Model):
items = models.JSONField(
validators=[
JsonSchemaValidator({"maxItems": 2})
]
)Like any Django model field validator, validation happens
when clean_fields() is called on a model instance:
>>> instance = MyModel(items=[1, 2, 3])
>>> instance.clean_fields()
django.core.exceptions.ValidationError: {'items': ["[1, 2, 3] is too long"]}Further documentation is gratiously hosted by Read the Docs
This package was created with Cookiecutter and the pymetrics/cookiecutter-python-library project template.