Fixed #20430 - Enable iterable of iterables for model choices

Allows for any iterable, not just lists or tuples, to be used as
the inner item for a list of choices in a model.
This commit is contained in:
Donald Stufft 2013-05-17 15:31:41 -04:00
parent a0c0cc924e
commit a19e9d80ff
7 changed files with 52 additions and 7 deletions

View file

@ -80,9 +80,10 @@ If a field has ``blank=False``, the field will be required.
.. attribute:: Field.choices
An iterable (e.g., a list or tuple) of 2-tuples to use as choices for this
field. If this is given, the default form widget will be a select box with
these choices instead of the standard text field.
An iterable (e.g., a list or tuple) consisting itself of iterables of exactly
two items (e.g. ``[(A, B), (A, B) ...]``) to use as choices for this field. If
this is given, the default form widget will be a select box with these choices
instead of the standard text field.
The first element in each tuple is the actual value to be stored, and the
second element is the human-readable name. For example::

View file

@ -238,6 +238,9 @@ Minor features
Meta option: ``localized_fields``. Fields included in this list will be localized
(by setting ``localize`` on the form field).
* The ``choices`` argument to model fields now accepts an iterable of iterables
instead of requiring an iterable of lists or tuples.
Backwards incompatible changes in 1.6
=====================================