mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #8620 -- Updated the Form metaclass to support excluding fields by shadowing them.
This commit is contained in:
@@ -854,6 +854,13 @@ classes::
|
||||
<li>Instrument: <input type="text" name="instrument" /></li>
|
||||
<li>Haircut type: <input type="text" name="haircut_type" /></li>
|
||||
|
||||
.. versionadded:: 1.7
|
||||
|
||||
* It's possible to opt-out from a ``Field`` inherited from a parent class by
|
||||
shadowing it. While any non-``Field`` value works for this purpose, it's
|
||||
recommended to use ``None`` to make it explicit that a field is being
|
||||
nullified.
|
||||
|
||||
.. _form-prefix:
|
||||
|
||||
Prefixes for forms
|
||||
|
||||
@@ -293,6 +293,9 @@ Forms
|
||||
inheriting from both ``Form`` and ``ModelForm`` simultaneously have been
|
||||
removed as long as ``ModelForm`` appears first in the MRO.
|
||||
|
||||
* It's now possible to opt-out from a ``Form`` field declared in a parent class
|
||||
by shadowing it with a non-``Field`` value.
|
||||
|
||||
Internationalization
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
@@ -651,6 +651,18 @@ There are a couple of things to note, however.
|
||||
because these classes rely on different metaclasses and a class can only have
|
||||
one metaclass.
|
||||
|
||||
.. versionadded:: 1.7
|
||||
|
||||
* It's possible to opt-out from a ``Field`` inherited from a parent class by
|
||||
shadowing it. While any non-``Field`` value works for this purpose, it's
|
||||
recommended to use ``None`` to make it explicit that a field is being
|
||||
nullified.
|
||||
|
||||
You can only use this technique to opt out from a field defined declaratively
|
||||
by a parent class; it won't prevent the ``ModelForm`` metaclass from generating
|
||||
a default field. To opt-out from default fields, see
|
||||
:ref:`controlling-fields-with-fields-and-exclude`.
|
||||
|
||||
.. _modelforms-factory:
|
||||
|
||||
ModelForm factory function
|
||||
@@ -749,6 +761,8 @@ instances of the model, you can specify an empty QuerySet::
|
||||
>>> AuthorFormSet(queryset=Author.objects.none())
|
||||
|
||||
|
||||
.. _controlling-fields-with-fields-and-exclude:
|
||||
|
||||
Controlling which fields are used with ``fields`` and ``exclude``
|
||||
-----------------------------------------------------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user