summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorFlorian Apolloner <florian@apolloner.eu>2013-05-18 05:15:15 -0700
committerFlorian Apolloner <florian@apolloner.eu>2013-05-18 05:15:15 -0700
commit16683f29ea81e1e979ee88c79cbef279046dd8b1 (patch)
tree3f152029bb9d67b0cd195cecf4591ce81e341f8e /docs
parentef73a8eefd2c4836ca2badc67c3b9aa9a0add7bd (diff)
parent756b81dbd1a947351670b66c7e91116abe6aa5c2 (diff)
Merge pull request #1084 from erikr/master
Fixed #13546 -- Easier handling of localize field options in ModelForm
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/forms/models.txt16
-rw-r--r--docs/releases/1.6.txt4
-rw-r--r--docs/topics/forms/modelforms.txt36
3 files changed, 50 insertions, 6 deletions
diff --git a/docs/ref/forms/models.txt b/docs/ref/forms/models.txt
index 9b3480758a..54d34160a5 100644
--- a/docs/ref/forms/models.txt
+++ b/docs/ref/forms/models.txt
@@ -5,7 +5,7 @@ Model Form Functions
.. module:: django.forms.models
:synopsis: Django's functions for building model forms and formsets.
-.. function:: modelform_factory(model, form=ModelForm, fields=None, exclude=None, formfield_callback=None, widgets=None)
+.. function:: modelform_factory(model, form=ModelForm, fields=None, exclude=None, formfield_callback=None, widgets=None, localized_fields=None)
Returns a :class:`~django.forms.ModelForm` class for the given ``model``.
You can optionally pass a ``form`` argument to use as a starting point for
@@ -20,6 +20,8 @@ Model Form Functions
``widgets`` is a dictionary of model field names mapped to a widget.
+ ``localized_fields`` is a list of names of fields which should be localized.
+
``formfield_callback`` is a callable that takes a model field and returns
a form field.
@@ -33,12 +35,14 @@ Model Form Functions
information. Omitting any definition of the fields to use will result in all
fields being used, but this behaviour is deprecated.
-.. function:: modelformset_factory(model, form=ModelForm, formfield_callback=None, formset=BaseModelFormSet, extra=1, can_delete=False, can_order=False, max_num=None, fields=None, exclude=None, widgets=None, validate_max=False)
+ The ``localized_fields`` parameter was added.
+
+.. function:: modelformset_factory(model, form=ModelForm, formfield_callback=None, formset=BaseModelFormSet, extra=1, can_delete=False, can_order=False, max_num=None, fields=None, exclude=None, widgets=None, validate_max=False, localized_fields=None)
Returns a ``FormSet`` class for the given ``model`` class.
Arguments ``model``, ``form``, ``fields``, ``exclude``,
- ``formfield_callback`` and ``widgets`` are all passed through to
+ ``formfield_callback``, ``widgets`` and ``localized_fields`` are all passed through to
:func:`~django.forms.models.modelform_factory`.
Arguments ``formset``, ``extra``, ``max_num``, ``can_order``,
@@ -50,9 +54,9 @@ Model Form Functions
.. versionchanged:: 1.6
- The ``widgets`` and the ``validate_max`` parameters were added.
+ The ``widgets``, ``validate_max`` and ``localized_fields`` parameters were added.
-.. function:: inlineformset_factory(parent_model, model, form=ModelForm, formset=BaseInlineFormSet, fk_name=None, fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, widgets=None, validate_max=False)
+.. function:: inlineformset_factory(parent_model, model, form=ModelForm, formset=BaseInlineFormSet, fk_name=None, fields=None, exclude=None, extra=3, can_order=False, can_delete=True, max_num=None, formfield_callback=None, widgets=None, validate_max=False, localized_fields=None)
Returns an ``InlineFormSet`` using :func:`modelformset_factory` with
defaults of ``formset=BaseInlineFormSet``, ``can_delete=True``, and
@@ -65,4 +69,4 @@ Model Form Functions
.. versionchanged:: 1.6
- The ``widgets`` and the ``validate_max`` parameters were added.
+ The ``widgets``, ``validate_max`` and ``localized_fields`` parameters were added.
diff --git a/docs/releases/1.6.txt b/docs/releases/1.6.txt
index 98889254cd..c9b3715c45 100644
--- a/docs/releases/1.6.txt
+++ b/docs/releases/1.6.txt
@@ -234,6 +234,10 @@ Minor features
.. _`Pillow`: https://pypi.python.org/pypi/Pillow
.. _`PIL`: https://pypi.python.org/pypi/PIL
+* :doc:`ModelForm </topics/forms/modelforms/>` accepts a new
+ Meta option: ``localized_fields``. Fields included in this list will be localized
+ (by setting ``localize`` on the form field).
+
Backwards incompatible changes in 1.6
=====================================
diff --git a/docs/topics/forms/modelforms.txt b/docs/topics/forms/modelforms.txt
index e58dade736..3cd8c69ab5 100644
--- a/docs/topics/forms/modelforms.txt
+++ b/docs/topics/forms/modelforms.txt
@@ -474,6 +474,24 @@ parameter when declaring the form field::
See the :doc:`form field documentation </ref/forms/fields>` for more information
on fields and their arguments.
+
+Enabling localization of fields
+-------------------------------
+
+.. versionadded:: 1.6
+
+By default, the fields in a ``ModelForm`` will not localize their data. To
+enable localization for fields, you can use the ``localized_fields``
+attribute on the ``Meta`` class.
+
+ >>> class AuthorForm(ModelForm):
+ ... class Meta:
+ ... model = Author
+ ... localized_fields = ('birth_date',)
+
+If ``localized_fields`` is set to the special value ``'__all__'``, all fields
+will be localized.
+
.. _overriding-modelform-clean-method:
Overriding the clean() method
@@ -570,6 +588,10 @@ keyword arguments, or the corresponding attributes on the ``ModelForm`` inner
``Meta`` class. Please see the ``ModelForm`` :ref:`modelforms-selecting-fields`
documentation.
+... or enable localization for specific fields::
+
+ >>> Form = modelform_factory(Author, form=AuthorForm, localized_fields=("birth_date",))
+
.. _model-formsets:
Model formsets
@@ -663,6 +685,20 @@ class of a ``ModelForm`` works::
>>> AuthorFormSet = modelformset_factory(
... Author, widgets={'name': Textarea(attrs={'cols': 80, 'rows': 20})
+Enabling localization for fields with ``localized_fields``
+----------------------------------------------------------
+
+.. versionadded:: 1.6
+
+Using the ``localized_fields`` parameter, you can enable localization for
+fields in the form.
+
+ >>> AuthorFormSet = modelformset_factory(
+ ... Author, localized_fields=('value',))
+
+If ``localized_fields`` is set to the special value ``'__all__'``, all fields
+will be localized.
+
Providing initial values
------------------------