mirror of
https://github.com/django/django.git
synced 2025-08-04 10:59:45 +00:00
Refs #27186 -- Fixed model form default fallback for CheckboxSelectMultiple.
This commit is contained in:
parent
1d25eb9688
commit
87c5e7efeb
6 changed files with 38 additions and 10 deletions
|
@ -280,10 +280,11 @@ foundation for custom widgets.
|
|||
The method's result affects whether or not a field in a model form
|
||||
:ref:`falls back to its default <topics-modelform-save>`.
|
||||
|
||||
A special case is :class:`~django.forms.CheckboxInput`, which always
|
||||
returns ``False`` because an unchecked checkbox doesn't appear in the
|
||||
data of an HTML form submission, so it's unknown whether or not the
|
||||
user actually submitted a value.
|
||||
Special cases are :class:`~django.forms.CheckboxInput` and
|
||||
:class:`~django.forms.CheckboxSelectMultiple`, which always return
|
||||
``False`` because an unchecked checkbox doesn't appear in the data of
|
||||
an HTML form submission, so it's unknown whether or not the user
|
||||
actually submitted a value.
|
||||
|
||||
``MultiWidget``
|
||||
---------------
|
||||
|
|
|
@ -18,10 +18,10 @@ Bugfixes
|
|||
* Disabled system check for URL patterns beginning with a '/' when
|
||||
``APPEND_SLASH=False`` (:ticket:`27238`).
|
||||
|
||||
* Fixed model form ``default`` fallback for ``MultiWidget``, ``FileInput``,
|
||||
``SplitDateTimeWidget``, ``SelectDateWidget``, and ``SplitArrayWidget``
|
||||
(:ticket:`27186`). Custom widgets affected by this issue may need to
|
||||
implement a :meth:`~django.forms.Widget.value_omitted_from_data` method.
|
||||
* Fixed model form ``default`` fallback for ``CheckboxSelectMultiple``,
|
||||
``MultiWidget``, ``FileInput``, ``SplitDateTimeWidget``, ``SelectDateWidget``,
|
||||
and ``SplitArrayWidget`` (:ticket:`27186`). Custom widgets affected by this
|
||||
issue should implement :meth:`~django.forms.Widget.value_omitted_from_data`.
|
||||
|
||||
* Fixed a crash in ``runserver`` logging during a "Broken pipe" error
|
||||
(:ticket:`27271`).
|
||||
|
|
|
@ -337,7 +337,8 @@ doesn't validate -- i.e., if ``form.errors`` evaluates to ``True``.
|
|||
If an optional field doesn't appear in the form's data, the resulting model
|
||||
instance uses the model field :attr:`~django.db.models.Field.default`, if
|
||||
there is one, for that field. This behavior doesn't apply to fields that use
|
||||
:class:`~django.forms.CheckboxInput` (or any custom widget whose
|
||||
:class:`~django.forms.CheckboxInput` and
|
||||
:class:`~django.forms.CheckboxSelectMultiple` (or any custom widget whose
|
||||
:meth:`~django.forms.Widget.value_omitted_from_data` method always returns
|
||||
``False``) since an unchecked checkbox doesn't appear in the data of an HTML
|
||||
form submission. Use a custom form field or widget if you're designing an API
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue