mirror of https://github.com/django/django.git
Fixed #29646 -- Doc'd the validators that each model and form field uses.
This commit is contained in:
parent
b523d42561
commit
3fa3de5415
|
@ -367,8 +367,9 @@ For each field, we describe the default widget used if you don't specify
|
||||||
* Default widget: :class:`TextInput`
|
* Default widget: :class:`TextInput`
|
||||||
* Empty value: Whatever you've given as :attr:`empty_value`.
|
* Empty value: Whatever you've given as :attr:`empty_value`.
|
||||||
* Normalizes to: A string.
|
* Normalizes to: A string.
|
||||||
* Validates ``max_length`` or ``min_length``, if they are provided.
|
* Uses :class:`~django.core.validators.MaxLengthValidator` and
|
||||||
Otherwise, all inputs are valid.
|
:class:`~django.core.validators.MinLengthValidator` if ``max_length`` and
|
||||||
|
``min_length`` are provided. Otherwise, all inputs are valid.
|
||||||
* Error message keys: ``required``, ``max_length``, ``min_length``
|
* Error message keys: ``required``, ``max_length``, ``min_length``
|
||||||
|
|
||||||
Has three optional arguments for validation:
|
Has three optional arguments for validation:
|
||||||
|
@ -528,8 +529,10 @@ For each field, we describe the default widget used if you don't specify
|
||||||
``False``, else :class:`TextInput`.
|
``False``, else :class:`TextInput`.
|
||||||
* Empty value: ``None``
|
* Empty value: ``None``
|
||||||
* Normalizes to: A Python ``decimal``.
|
* Normalizes to: A Python ``decimal``.
|
||||||
* Validates that the given value is a decimal. Leading and trailing
|
* Validates that the given value is a decimal. Uses
|
||||||
whitespace is ignored.
|
:class:`~django.core.validators.MaxValueValidator` and
|
||||||
|
:class:`~django.core.validators.MinValueValidator` if ``max_value`` and
|
||||||
|
``min_value`` are provided. Leading and trailing whitespace is ignored.
|
||||||
* Error message keys: ``required``, ``invalid``, ``max_value``,
|
* Error message keys: ``required``, ``invalid``, ``max_value``,
|
||||||
``min_value``, ``max_digits``, ``max_decimal_places``,
|
``min_value``, ``max_digits``, ``max_decimal_places``,
|
||||||
``max_whole_digits``
|
``max_whole_digits``
|
||||||
|
@ -581,8 +584,9 @@ For each field, we describe the default widget used if you don't specify
|
||||||
* Default widget: :class:`EmailInput`
|
* Default widget: :class:`EmailInput`
|
||||||
* Empty value: ``''`` (an empty string)
|
* Empty value: ``''`` (an empty string)
|
||||||
* Normalizes to: A string.
|
* Normalizes to: A string.
|
||||||
* Validates that the given value is a valid email address, using a
|
* Uses :class:`~django.core.validators.EmailValidator` to validate that
|
||||||
moderately complex regular expression.
|
the given value is a valid email address, using a moderately complex
|
||||||
|
regular expression.
|
||||||
* Error message keys: ``required``, ``invalid``
|
* Error message keys: ``required``, ``invalid``
|
||||||
|
|
||||||
Has two optional arguments for validation, ``max_length`` and ``min_length``.
|
Has two optional arguments for validation, ``max_length`` and ``min_length``.
|
||||||
|
@ -669,8 +673,11 @@ For each field, we describe the default widget used if you don't specify
|
||||||
``False``, else :class:`TextInput`.
|
``False``, else :class:`TextInput`.
|
||||||
* Empty value: ``None``
|
* Empty value: ``None``
|
||||||
* Normalizes to: A Python float.
|
* Normalizes to: A Python float.
|
||||||
* Validates that the given value is a float. Leading and trailing
|
* Validates that the given value is a float. Uses
|
||||||
whitespace is allowed, as in Python's ``float()`` function.
|
:class:`~django.core.validators.MaxValueValidator` and
|
||||||
|
:class:`~django.core.validators.MinValueValidator` if ``max_value`` and
|
||||||
|
``min_value`` are provided. Leading and trailing whitespace is allowed,
|
||||||
|
as in Python's ``float()`` function.
|
||||||
* Error message keys: ``required``, ``invalid``, ``max_value``,
|
* Error message keys: ``required``, ``invalid``, ``max_value``,
|
||||||
``min_value``
|
``min_value``
|
||||||
|
|
||||||
|
@ -686,8 +693,9 @@ For each field, we describe the default widget used if you don't specify
|
||||||
* Empty value: ``None``
|
* Empty value: ``None``
|
||||||
* Normalizes to: An ``UploadedFile`` object that wraps the file content
|
* Normalizes to: An ``UploadedFile`` object that wraps the file content
|
||||||
and file name into a single object.
|
and file name into a single object.
|
||||||
* Validates that file data has been bound to the form, and that the
|
* Validates that file data has been bound to the form. Also uses
|
||||||
file is of an image format understood by Pillow.
|
:class:`~django.core.validators.FileExtensionValidator` to validate that
|
||||||
|
the file extension is supported by Pillow.
|
||||||
* Error message keys: ``required``, ``invalid``, ``missing``, ``empty``,
|
* Error message keys: ``required``, ``invalid``, ``missing``, ``empty``,
|
||||||
``invalid_image``
|
``invalid_image``
|
||||||
|
|
||||||
|
@ -718,8 +726,11 @@ For each field, we describe the default widget used if you don't specify
|
||||||
``False``, else :class:`TextInput`.
|
``False``, else :class:`TextInput`.
|
||||||
* Empty value: ``None``
|
* Empty value: ``None``
|
||||||
* Normalizes to: A Python integer.
|
* Normalizes to: A Python integer.
|
||||||
* Validates that the given value is an integer. Leading and trailing
|
* Validates that the given value is an integer. Uses
|
||||||
whitespace is allowed, as in Python's ``int()`` function.
|
:class:`~django.core.validators.MaxValueValidator` and
|
||||||
|
:class:`~django.core.validators.MinValueValidator` if ``max_value`` and
|
||||||
|
``min_value`` are provided. Leading and trailing whitespace is allowed,
|
||||||
|
as in Python's ``int()`` function.
|
||||||
* Error message keys: ``required``, ``invalid``, ``max_value``,
|
* Error message keys: ``required``, ``invalid``, ``max_value``,
|
||||||
``min_value``
|
``min_value``
|
||||||
|
|
||||||
|
@ -824,8 +835,8 @@ For each field, we describe the default widget used if you don't specify
|
||||||
* Default widget: :class:`TextInput`
|
* Default widget: :class:`TextInput`
|
||||||
* Empty value: ``''`` (an empty string)
|
* Empty value: ``''`` (an empty string)
|
||||||
* Normalizes to: A string.
|
* Normalizes to: A string.
|
||||||
* Validates that the given value matches against a certain regular
|
* Uses :class:`~django.core.validators.RegexValidator` to validate that
|
||||||
expression.
|
the given value matches a certain regular expression.
|
||||||
* Error message keys: ``required``, ``invalid``
|
* Error message keys: ``required``, ``invalid``
|
||||||
|
|
||||||
Takes one required argument:
|
Takes one required argument:
|
||||||
|
@ -851,8 +862,9 @@ For each field, we describe the default widget used if you don't specify
|
||||||
* Default widget: :class:`TextInput`
|
* Default widget: :class:`TextInput`
|
||||||
* Empty value: ``''`` (an empty string)
|
* Empty value: ``''`` (an empty string)
|
||||||
* Normalizes to: A string.
|
* Normalizes to: A string.
|
||||||
* Validates that the given value contains only letters, numbers,
|
* Uses :class:`~django.core.validators.validate_slug` or
|
||||||
underscores, and hyphens.
|
:class:`~django.core.validators.validate_unicode_slug` to validate that
|
||||||
|
the given value contains only letters, numbers, underscores, and hyphens.
|
||||||
* Error messages: ``required``, ``invalid``
|
* Error messages: ``required``, ``invalid``
|
||||||
|
|
||||||
This field is intended for use in representing a model
|
This field is intended for use in representing a model
|
||||||
|
@ -897,7 +909,8 @@ For each field, we describe the default widget used if you don't specify
|
||||||
* Default widget: :class:`URLInput`
|
* Default widget: :class:`URLInput`
|
||||||
* Empty value: ``''`` (an empty string)
|
* Empty value: ``''`` (an empty string)
|
||||||
* Normalizes to: A string.
|
* Normalizes to: A string.
|
||||||
* Validates that the given value is a valid URL.
|
* Uses :class:`~django.core.validators.URLValidator` to validate that the
|
||||||
|
given value is a valid URL.
|
||||||
* Error message keys: ``required``, ``invalid``
|
* Error message keys: ``required``, ``invalid``
|
||||||
|
|
||||||
Takes the following optional arguments:
|
Takes the following optional arguments:
|
||||||
|
|
|
@ -414,7 +414,7 @@ guaranteed to fit numbers from ``-9223372036854775808`` to
|
||||||
``BinaryField``
|
``BinaryField``
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
.. class:: BinaryField(**options)
|
.. class:: BinaryField(max_length=None, **options)
|
||||||
|
|
||||||
A field to store raw binary data. It only supports ``bytes`` assignment. Be
|
A field to store raw binary data. It only supports ``bytes`` assignment. Be
|
||||||
aware that this field has limited functionality. For example, it is not possible
|
aware that this field has limited functionality. For example, it is not possible
|
||||||
|
@ -427,6 +427,14 @@ case it can't be included in a :class:`~django.forms.ModelForm`.
|
||||||
|
|
||||||
Older versions don't allow setting ``editable`` to ``True``.
|
Older versions don't allow setting ``editable`` to ``True``.
|
||||||
|
|
||||||
|
``BinaryField`` has one extra optional argument:
|
||||||
|
|
||||||
|
.. attribute:: BinaryField.max_length
|
||||||
|
|
||||||
|
The maximum length (in characters) of the field. The maximum length is
|
||||||
|
enforced in Django's validation using
|
||||||
|
:class:`~django.core.validators.MaxLengthValidator`.
|
||||||
|
|
||||||
.. admonition:: Abusing ``BinaryField``
|
.. admonition:: Abusing ``BinaryField``
|
||||||
|
|
||||||
Although you might think about storing files in the database, consider that
|
Although you might think about storing files in the database, consider that
|
||||||
|
@ -468,7 +476,8 @@ The default form widget for this field is a :class:`~django.forms.TextInput`.
|
||||||
.. attribute:: CharField.max_length
|
.. attribute:: CharField.max_length
|
||||||
|
|
||||||
The maximum length (in characters) of the field. The max_length is enforced
|
The maximum length (in characters) of the field. The max_length is enforced
|
||||||
at the database level and in Django's validation.
|
at the database level and in Django's validation using
|
||||||
|
:class:`~django.core.validators.MaxLengthValidator`.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
|
@ -551,7 +560,10 @@ The default form widget for this field is a single
|
||||||
.. class:: DecimalField(max_digits=None, decimal_places=None, **options)
|
.. class:: DecimalField(max_digits=None, decimal_places=None, **options)
|
||||||
|
|
||||||
A fixed-precision decimal number, represented in Python by a
|
A fixed-precision decimal number, represented in Python by a
|
||||||
:class:`~decimal.Decimal` instance. Has two **required** arguments:
|
:class:`~decimal.Decimal` instance. It validates the input using
|
||||||
|
:class:`~django.core.validators.DecimalValidator`.
|
||||||
|
|
||||||
|
Has two **required** arguments:
|
||||||
|
|
||||||
.. attribute:: DecimalField.max_digits
|
.. attribute:: DecimalField.max_digits
|
||||||
|
|
||||||
|
@ -603,8 +615,8 @@ SECOND(6)``. Otherwise a ``bigint`` of microseconds is used.
|
||||||
|
|
||||||
.. class:: EmailField(max_length=254, **options)
|
.. class:: EmailField(max_length=254, **options)
|
||||||
|
|
||||||
A :class:`CharField` that checks that the value is a valid email address. It
|
A :class:`CharField` that checks that the value is a valid email address using
|
||||||
uses :class:`~django.core.validators.EmailValidator` to validate the input.
|
:class:`~django.core.validators.EmailValidator`.
|
||||||
|
|
||||||
``FileField``
|
``FileField``
|
||||||
-------------
|
-------------
|
||||||
|
@ -969,9 +981,15 @@ The default form widget for this field is a
|
||||||
.. class:: IntegerField(**options)
|
.. class:: IntegerField(**options)
|
||||||
|
|
||||||
An integer. Values from ``-2147483648`` to ``2147483647`` are safe in all
|
An integer. Values from ``-2147483648`` to ``2147483647`` are safe in all
|
||||||
databases supported by Django. The default form widget for this field is a
|
databases supported by Django.
|
||||||
:class:`~django.forms.NumberInput` when :attr:`~django.forms.Field.localize`
|
|
||||||
is ``False`` or :class:`~django.forms.TextInput` otherwise.
|
It uses :class:`~django.core.validators.MinValueValidator` and
|
||||||
|
:class:`~django.core.validators.MaxValueValidator` to validate the input based
|
||||||
|
on the values that the default database supports.
|
||||||
|
|
||||||
|
The default form widget for this field is a :class:`~django.forms.NumberInput`
|
||||||
|
when :attr:`~django.forms.Field.localize` is ``False`` or
|
||||||
|
:class:`~django.forms.TextInput` otherwise.
|
||||||
|
|
||||||
``GenericIPAddressField``
|
``GenericIPAddressField``
|
||||||
-------------------------
|
-------------------------
|
||||||
|
@ -1050,6 +1068,9 @@ It is often useful to automatically prepopulate a SlugField based on the value
|
||||||
of some other value. You can do this automatically in the admin using
|
of some other value. You can do this automatically in the admin using
|
||||||
:attr:`~django.contrib.admin.ModelAdmin.prepopulated_fields`.
|
:attr:`~django.contrib.admin.ModelAdmin.prepopulated_fields`.
|
||||||
|
|
||||||
|
It uses :class:`~django.core.validators.validate_slug` or
|
||||||
|
:class:`~django.core.validators.validate_unicode_slug` for validation.
|
||||||
|
|
||||||
.. attribute:: SlugField.allow_unicode
|
.. attribute:: SlugField.allow_unicode
|
||||||
|
|
||||||
If ``True``, the field accepts Unicode letters in addition to ASCII
|
If ``True``, the field accepts Unicode letters in addition to ASCII
|
||||||
|
@ -1093,7 +1114,8 @@ The admin adds some JavaScript shortcuts.
|
||||||
|
|
||||||
.. class:: URLField(max_length=200, **options)
|
.. class:: URLField(max_length=200, **options)
|
||||||
|
|
||||||
A :class:`CharField` for a URL.
|
A :class:`CharField` for a URL, validated by
|
||||||
|
:class:`~django.core.validators.URLValidator`.
|
||||||
|
|
||||||
The default form widget for this field is a :class:`~django.forms.TextInput`.
|
The default form widget for this field is a :class:`~django.forms.TextInput`.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue