summaryrefslogtreecommitdiff
path: root/tests/expressions_case
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2017-05-06 10:56:28 -0400
committerTim Graham <timograham@gmail.com>2018-03-20 12:10:10 -0400
commit5fa4f40f45fcdbb7e48489ed3039a314b5c961d0 (patch)
tree272b8798d2c2a054f56d8613a42453bce30f92c0 /tests/expressions_case
parent73f7d1755ff1da3aac687c7b046e4b5028e505db (diff)
downloaddjango-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.py3
-rw-r--r--tests/expressions_case/tests.py13
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(