Refs #34059 -- Doc'd lack of support for validation of constraints with JSONFields.

Thanks Dan LaManna for the report.
This commit is contained in:
Mariusz Felisiak 2022-10-12 11:50:13 +02:00 committed by GitHub
parent c4aac2ac1e
commit 004f985b91
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 0 deletions

View File

@ -34,6 +34,17 @@ option.
Constraints are checked during the :ref:`model validation Constraints are checked during the :ref:`model validation
<validating-objects>`. <validating-objects>`.
.. admonition:: Validation of Constraints with ``JSONField``
Constraints containing :class:`~django.db.models.JSONField` may not raise
validation errors as key, index, and path transforms have many
database-specific caveats. This :ticket:`may be fully supported later
<34059>`.
You should always check that there are no log messages, in the
``django.db.models`` logger, like *"Got a database error calling check() on
…"* to confirm it's validated properly.
.. versionchanged:: 4.1 .. versionchanged:: 4.1
In older versions, constraints were not checked during model validation. In older versions, constraints were not checked during model validation.

View File

@ -211,6 +211,17 @@ need to call a model's :meth:`~Model.full_clean()` method if you plan to handle
validation errors yourself, or if you have excluded fields from the validation errors yourself, or if you have excluded fields from the
:class:`~django.forms.ModelForm` that require validation. :class:`~django.forms.ModelForm` that require validation.
.. warning::
Constraints containing :class:`~django.db.models.JSONField` may not raise
validation errors as key, index, and path transforms have many
database-specific caveats. This :ticket:`may be fully supported later
<34059>`.
You should always check that there are no log messages, in the
``django.db.models`` logger, like *"Got a database error calling check() on
…"* to confirm it's validated properly.
.. versionchanged:: 4.1 .. versionchanged:: 4.1
In older versions, constraints were not checked during the model In older versions, constraints were not checked during the model