summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorHasan Ramezani <hasan.r67@gmail.com>2018-11-21 21:58:04 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-03-21 11:51:01 +0100
commit5fc5d935120a5d9d428b969ad209695704c10c73 (patch)
treebdb846ae83e6bf391402ed1973cb4b728922f689 /docs
parent413d50b5ff0c0a4198d4bf069e6434bc7ba4cd86 (diff)
Fixed #29956 -- Allowed overriding an order field widget in formsets.
Diffstat (limited to 'docs')
-rw-r--r--docs/releases/3.0.txt5
-rw-r--r--docs/topics/forms/formsets.txt43
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``
--------------