diff options
| author | Hasan Ramezani <hasan.r67@gmail.com> | 2018-11-21 21:58:04 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-03-21 11:51:01 +0100 |
| commit | 5fc5d935120a5d9d428b969ad209695704c10c73 (patch) | |
| tree | bdb846ae83e6bf391402ed1973cb4b728922f689 /docs | |
| parent | 413d50b5ff0c0a4198d4bf069e6434bc7ba4cd86 (diff) | |
Fixed #29956 -- Allowed overriding an order field widget in formsets.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/releases/3.0.txt | 5 | ||||
| -rw-r--r-- | docs/topics/forms/formsets.txt | 43 |
2 files changed, 47 insertions, 1 deletions
diff --git a/docs/releases/3.0.txt b/docs/releases/3.0.txt index 71a8aef971..cf50eea1b5 100644 --- a/docs/releases/3.0.txt +++ b/docs/releases/3.0.txt @@ -139,7 +139,10 @@ File Uploads Forms ~~~~~ -* ... +* Formsets may control the widget used when ordering forms via + :attr:`~django.forms.formsets.BaseFormSet.can_order` by setting the + :attr:`~django.forms.formsets.BaseFormSet.ordering_widget` attribute or + overriding :attr:`~django.forms.formsets.BaseFormSet.get_ordering_widget()`. Generic Views ~~~~~~~~~~~~~ diff --git a/docs/topics/forms/formsets.txt b/docs/topics/forms/formsets.txt index 0c4c7f0bee..b9c8721bf5 100644 --- a/docs/topics/forms/formsets.txt +++ b/docs/topics/forms/formsets.txt @@ -448,6 +448,49 @@ happen when the user changes these values:: {'pub_date': datetime.date(2008, 5, 11), 'ORDER': 1, 'title': 'Article #2'} {'pub_date': datetime.date(2008, 5, 10), 'ORDER': 2, 'title': 'Article #1'} +:class:`~django.forms.formsets.BaseFormSet` also provides an +:attr:`~django.forms.formsets.BaseFormSet.ordering_widget` attribute and +:meth:`~django.forms.formsets.BaseFormSet.get_ordering_widget` method that +control the widget used with +:attr:`~django.forms.formsets.BaseFormSet.can_order`. + +``ordering_widget`` +^^^^^^^^^^^^^^^^^^^ + +.. versionadded:: 3.0 + +.. attribute:: BaseFormSet.ordering_widget + +Default: :class:`~django.forms.NumberInput` + +Set ``ordering_widget`` to specify the widget class to be used with +``can_order``:: + + >>> from django.forms import BaseFormSet, formset_factory + >>> from myapp.forms import ArticleForm + >>> class BaseArticleFormSet(BaseFormSet): + ... ordering_widget = HiddenInput + + >>> ArticleFormSet = formset_factory(ArticleForm, formset=BaseArticleFormSet, can_order=True) + +``get_ordering_widget`` +^^^^^^^^^^^^^^^^^^^^^^^ + +.. versionadded:: 3.0 + +.. method:: BaseFormSet.get_ordering_widget() + +Override ``get_ordering_widget()`` if you need to provide a widget instance for +use with ``can_order``:: + + >>> from django.forms import BaseFormSet, formset_factory + >>> from myapp.forms import ArticleForm + >>> class BaseArticleFormSet(BaseFormSet): + ... def get_ordering_widget(self): + ... return HiddenInput(attrs={'class': 'ordering'}) + + >>> ArticleFormSet = formset_factory(ArticleForm, formset=BaseArticleFormSet, can_order=True) + ``can_delete`` -------------- |
