Fixed #29247 -- Allowed blank model field choice to be defined in nested choices.

This commit is contained in:
orlnub123 2018-03-22 16:05:31 +03:00 committed by Tim Graham
parent e35004966b
commit 21420096c4
2 changed files with 14 additions and 2 deletions

View file

@ -140,6 +140,19 @@ class GetChoicesTests(SimpleTestCase):
f = models.CharField(choices=choices)
self.assertEqual(f.get_choices(include_blank=True), choices)
def test_blank_in_grouped_choices(self):
choices = [
('f', 'Foo'),
('b', 'Bar'),
('Group', (
('', 'No Preference'),
('fg', 'Foo'),
('bg', 'Bar'),
)),
]
f = models.CharField(choices=choices)
self.assertEqual(f.get_choices(include_blank=True), choices)
def test_lazy_strings_not_evaluated(self):
lazy_func = lazy(lambda x: 0 / 0, int) # raises ZeroDivisionError if evaluated.
f = models.CharField(choices=[(lazy_func('group'), (('a', 'A'), ('b', 'B')))])