1
0
mirror of https://github.com/django/django.git synced 2025-10-23 21:59:11 +00:00

Fixed #7913 -- Corrected backwards incompatible parts of [7977] when optgroup handling was added to field choices (Ticket #4412). Thanks to Michael Elsdorfer (miracle2k) for the report and patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@8102 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee
2008-07-27 07:22:39 +00:00
parent 0e629b01c0
commit 661f62be3c
3 changed files with 73 additions and 4 deletions

View File

@@ -11,6 +11,22 @@ class Bar(models.Model):
b = models.CharField(max_length=10)
a = models.ForeignKey(Foo, default=get_foo)
class Whiz(models.Model):
CHOICES = (
('Group 1', (
(1,'First'),
(2,'Second'),
)
),
('Group 2', (
(3,'Third'),
(4,'Fourth'),
)
),
(0,'Other'),
)
c = models.IntegerField(choices=CHOICES, null=True)
__test__ = {'API_TESTS':"""
# Create a couple of Places.
>>> f = Foo.objects.create(a='abc')
@@ -21,4 +37,39 @@ __test__ = {'API_TESTS':"""
<Foo: Foo object>
>>> b.save()
# Regression tests for #7913
# Check that get_choices and get_flatchoices interact with
# get_FIELD_display to return the expected values.
# Test a nested value
>>> w = Whiz(c=1)
>>> w.save()
>>> w.get_c_display()
u'First'
# Test a top level value
>>> w.c = 0
>>> w.save()
>>> w.get_c_display()
u'Other'
# Test an invalid data value
>>> w.c = 9
>>> w.save()
>>> w.get_c_display()
9
# Test a blank data value
>>> w.c = None
>>> w.save()
>>> print w.get_c_display()
None
# Test an empty data value
>>> w.c = ''
>>> w.save()
>>> w.get_c_display()
u''
"""}