diff options
Diffstat (limited to 'tests/postgres_tests/test_json.py')
| -rw-r--r-- | tests/postgres_tests/test_json.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_json.py b/tests/postgres_tests/test_json.py index 305278fc6a..2f0b55a292 100644 --- a/tests/postgres_tests/test_json.py +++ b/tests/postgres_tests/test_json.py @@ -4,6 +4,7 @@ from decimal import Decimal from django.core import checks, exceptions, serializers from django.core.serializers.json import DjangoJSONEncoder +from django.db.models import Q from django.forms import CharField, Form, widgets from django.test.utils import isolate_apps from django.utils.html import escape @@ -177,6 +178,20 @@ class TestQuerying(PostgreSQLTestCase): [self.objs[7], self.objs[8]] ) + def test_none_key(self): + self.assertSequenceEqual(JSONModel.objects.filter(field__j=None), [self.objs[8]]) + + def test_none_key_exclude(self): + obj = JSONModel.objects.create(field={'j': 1}) + self.assertSequenceEqual(JSONModel.objects.exclude(field__j=None), [obj]) + + def test_isnull_key_or_none(self): + obj = JSONModel.objects.create(field={'a': None}) + self.assertSequenceEqual( + JSONModel.objects.filter(Q(field__a__isnull=True) | Q(field__a=None)), + self.objs[:7] + self.objs[9:] + [obj] + ) + def test_contains(self): self.assertSequenceEqual( JSONModel.objects.filter(field__contains={'a': 'b'}), |
