From e8c768910afd441aa39759de27939eee5d141219 Mon Sep 17 00:00:00 2001 From: Joseph Kocherhans Date: Sun, 7 Mar 2010 01:52:48 +0000 Subject: [PATCH] [1.1.X] Fixed #12913. Fields with choices now respect show_hidden_initial as a keyword argument to formfield. Backport of r12696 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12697 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/models/fields/__init__.py | 2 +- tests/regressiontests/model_fields/tests.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 1f8a8a6771..f31d0c5360 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -339,7 +339,7 @@ class Field(object): for k in kwargs.keys(): if k not in ('coerce', 'empty_value', 'choices', 'required', 'widget', 'label', 'initial', 'help_text', - 'error_messages'): + 'error_messages', 'show_hidden_initial'): del kwargs[k] defaults.update(kwargs) return form_class(**defaults) diff --git a/tests/regressiontests/model_fields/tests.py b/tests/regressiontests/model_fields/tests.py index 29b4af50b7..53659db8ca 100644 --- a/tests/regressiontests/model_fields/tests.py +++ b/tests/regressiontests/model_fields/tests.py @@ -26,6 +26,20 @@ if Image: TwoImageFieldTests +class BasicFieldTests(django.test.TestCase): + def test_show_hidden_initial(self): + """ + Regression test for #12913. Make sure fields with choices respect + show_hidden_initial as a kwarg to models.Field.formfield() + """ + choices = [(0, 0), (1, 1)] + model_field = models.Field(choices=choices) + form_field = model_field.formfield(show_hidden_initial=True) + self.assertTrue(form_field.show_hidden_initial) + + form_field = model_field.formfield(show_hidden_initial=False) + self.assertFalse(form_field.show_hidden_initial) + class DecimalFieldTests(django.test.TestCase): def test_to_python(self): f = models.DecimalField(max_digits=4, decimal_places=2)