diff options
author | Tim Graham <timograham@gmail.com> | 2017-05-06 10:56:28 -0400 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2018-03-20 12:10:10 -0400 |
commit | 5fa4f40f45fcdbb7e48489ed3039a314b5c961d0 (patch) | |
tree | 272b8798d2c2a054f56d8613a42453bce30f92c0 /tests/expressions_case | |
parent | 73f7d1755ff1da3aac687c7b046e4b5028e505db (diff) | |
download | django-5fa4f40f45fcdbb7e48489ed3039a314b5c961d0.tar.gz |
Fixed #29227 -- Allowed BooleanField to be null=True.
Thanks Lynn Cyrin for contributing to the patch, and Nick Pope for review.
Diffstat (limited to 'tests/expressions_case')
-rw-r--r-- | tests/expressions_case/models.py | 3 | ||||
-rw-r--r-- | tests/expressions_case/tests.py | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/tests/expressions_case/models.py b/tests/expressions_case/models.py index 7c1a8d75b7..570b8c1849 100644 --- a/tests/expressions_case/models.py +++ b/tests/expressions_case/models.py @@ -25,7 +25,8 @@ class CaseTestModel(models.Model): if Image: image = models.ImageField(null=True) generic_ip_address = models.GenericIPAddressField(null=True) - null_boolean = models.NullBooleanField() + null_boolean = models.BooleanField(null=True) + null_boolean_old = models.NullBooleanField() positive_integer = models.PositiveIntegerField(null=True) positive_small_integer = models.PositiveSmallIntegerField(null=True) slug = models.SlugField(default='') diff --git a/tests/expressions_case/tests.py b/tests/expressions_case/tests.py index a688dc073d..94731491e0 100644 --- a/tests/expressions_case/tests.py +++ b/tests/expressions_case/tests.py @@ -820,6 +820,19 @@ class CaseExpressionTests(TestCase): transform=attrgetter('integer', 'null_boolean') ) + def test_update_null_boolean_old(self): + CaseTestModel.objects.update( + null_boolean_old=Case( + When(integer=1, then=True), + When(integer=2, then=False), + ), + ) + self.assertQuerysetEqual( + CaseTestModel.objects.all().order_by('pk'), + [(1, True), (2, False), (3, None), (2, False), (3, None), (3, None), (4, None)], + transform=attrgetter('integer', 'null_boolean_old') + ) + def test_update_positive_integer(self): CaseTestModel.objects.update( positive_integer=Case( |