From 71ec102b01fcc85acae3819426a4e02ef423b0fa Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Fri, 26 Feb 2021 07:52:16 +0100 Subject: Fixed #32483 -- Fixed QuerySet.values()/values_list() on JSONField key transforms with booleans on SQLite. Thanks Matthew Cornell for the report. --- tests/model_fields/test_jsonfield.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'tests') diff --git a/tests/model_fields/test_jsonfield.py b/tests/model_fields/test_jsonfield.py index c903074e70..f7721aa6e8 100644 --- a/tests/model_fields/test_jsonfield.py +++ b/tests/model_fields/test_jsonfield.py @@ -808,6 +808,16 @@ class TestQuerying(TestCase): with self.subTest(lookup=lookup): self.assertEqual(qs.values_list(lookup, flat=True).get(), expected) + def test_key_values_boolean(self): + qs = NullableJSONModel.objects.filter(value__h=True, value__i=False) + tests = [ + ('value__h', True), + ('value__i', False), + ] + for lookup, expected in tests: + with self.subTest(lookup=lookup): + self.assertIs(qs.values_list(lookup, flat=True).get(), expected) + @skipUnlessDBFeature('supports_json_field_contains') def test_key_contains(self): self.assertIs(NullableJSONModel.objects.filter(value__foo__contains='ar').exists(), False) -- cgit v1.3