summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2022-05-24 10:02:53 +0200
committerGitHub <noreply@github.com>2022-05-24 10:02:53 +0200
commit90aabd730a2a434c227faf8a927b0e2ccd67e291 (patch)
treedb2d16511b9f84a4d787d8e8d9385c0a370e19f1 /docs
parent241fe59b74bb6031fa644f3ad55e6ad6a9187510 (diff)
Fixed #33724 -- Doc'd exclude argument changes in model validation.
Thanks אורי for the report. Follow up to 1ea7e3157d1f9b4db71e768d75ea57e47dbd49f9.
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/models/instances.txt20
-rw-r--r--docs/releases/4.1.txt6
2 files changed, 18 insertions, 8 deletions
diff --git a/docs/ref/models/instances.txt b/docs/ref/models/instances.txt
index 9aa9486f4a..71fb880740 100644
--- a/docs/ref/models/instances.txt
+++ b/docs/ref/models/instances.txt
@@ -224,8 +224,8 @@ This method calls :meth:`Model.clean_fields()`, :meth:`Model.clean()`,
in that order and raises a :exc:`~django.core.exceptions.ValidationError` that
has a ``message_dict`` attribute containing errors from all four stages.
-The optional ``exclude`` argument can be used to provide a list of field names
-that can be excluded from validation and cleaning.
+The optional ``exclude`` argument can be used to provide a ``set`` of field
+names that can be excluded from validation and cleaning.
:class:`~django.forms.ModelForm` uses this argument to exclude fields that
aren't present on your form from being validated since any errors raised could
not be corrected by the user.
@@ -249,12 +249,16 @@ The first step ``full_clean()`` performs is to clean each individual field.
The ``validate_constraints`` argument was added.
+.. versionchanged:: 4.1
+
+ An ``exclude`` value is now converted to a ``set`` rather than a ``list``.
+
.. method:: Model.clean_fields(exclude=None)
This method will validate all fields on your model. The optional ``exclude``
-argument lets you provide a list of field names to exclude from validation. It
-will raise a :exc:`~django.core.exceptions.ValidationError` if any fields fail
-validation.
+argument lets you provide a ``set`` of field names to exclude from validation.
+It will raise a :exc:`~django.core.exceptions.ValidationError` if any fields
+fail validation.
The second step ``full_clean()`` performs is to call :meth:`Model.clean()`.
This method should be overridden to perform custom validation on your model.
@@ -355,8 +359,8 @@ uniqueness constraints defined via :attr:`.Field.unique`,
:attr:`.Field.unique_for_date`, :attr:`.Field.unique_for_month`,
:attr:`.Field.unique_for_year`, or :attr:`Meta.unique_together
<django.db.models.Options.unique_together>` on your model instead of individual
-field values. The optional ``exclude`` argument allows you to provide a list of
-field names to exclude from validation. It will raise a
+field values. The optional ``exclude`` argument allows you to provide a ``set``
+of field names to exclude from validation. It will raise a
:exc:`~django.core.exceptions.ValidationError` if any fields fail validation.
:class:`~django.db.models.UniqueConstraint`\s defined in the
@@ -380,7 +384,7 @@ Finally, ``full_clean()`` will check any other constraints on your model.
This method validates all constraints defined in
:attr:`Meta.constraints <django.db.models.Options.constraints>`. The
-optional ``exclude`` argument allows you to provide a list of field names to
+optional ``exclude`` argument allows you to provide a ``set`` of field names to
exclude from validation. It will raise a
:exc:`~django.core.exceptions.ValidationError` if any constraints fail
validation.
diff --git a/docs/releases/4.1.txt b/docs/releases/4.1.txt
index 7b922256ec..49bd7c48bd 100644
--- a/docs/releases/4.1.txt
+++ b/docs/releases/4.1.txt
@@ -561,6 +561,12 @@ Miscellaneous
``URLResolver._callback_strs``, and ``URLPattern.lookup_str()`` are
moved to ``django.contrib.admindocs.utils``.
+* The :meth:`.Model.full_clean` method now converts an ``exclude`` value to the
+ ``set``. It’s also preferable to pass an ``exclude`` value as a ``set`` to
+ the :meth:`.Model.clean_fields`, :meth:`.Model.full_clean`,
+ :meth:`.Model.validate_unique`, and :meth:`.Model.validate_constraints`
+ methods.
+
.. _deprecated-features-4.1:
Features deprecated in 4.1