diff options
| author | Marc Tamlyn <marc.tamlyn@gmail.com> | 2014-05-24 10:52:18 +0100 |
|---|---|---|
| committer | Marc Tamlyn <marc.tamlyn@gmail.com> | 2014-05-24 13:10:50 +0100 |
| commit | 9fb0f5dddc4cf7f2d294af1bcde2c359cffd90a5 (patch) | |
| tree | 5c007e3490626084d43267def381a57a08833c11 /docs/topics | |
| parent | f47e226ff7d2460ebe587d4fc1565b113b1c709f (diff) | |
Fixed #22510 -- Harden field removal to only None.
Refs #8620.
If we allow any value to remove form fields then we get name clashes
with method names, media classes etc. There was a backwards
incompatibility introduced meaning ModelForm subclasses with declared
fields called media or clean would lose those fields.
Field removal is now only permitted by using the sentinel value None.
The docs have been slightly reworded to refer to removal of fields
rather than shadowing.
Thanks to gcbirzan for the report and initial patch, and several of the
core team for opinions.
Diffstat (limited to 'docs/topics')
| -rw-r--r-- | docs/topics/forms/modelforms.txt | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/docs/topics/forms/modelforms.txt b/docs/topics/forms/modelforms.txt index e96345f155..4ac4dcea90 100644 --- a/docs/topics/forms/modelforms.txt +++ b/docs/topics/forms/modelforms.txt @@ -666,10 +666,8 @@ There are a couple of things to note, however. .. 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. +* It's possible to declaratively remove a ``Field`` inherited from a parent class by + setting the name to be ``None`` on the subclass. 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 |
