diff options
author | sage <laymonage@gmail.com> | 2020-11-25 13:27:35 +0100 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-11-25 13:48:11 +0100 |
commit | 7408c4cd157ae18971302a2baf7aacce7c204a09 (patch) | |
tree | b0f112cdc856a8699d58f894cf247c5d06d73847 /tests/model_fields | |
parent | f5e5aac59ebbcea46b98d37834915de0f43d7cc8 (diff) | |
download | django-7408c4cd157ae18971302a2baf7aacce7c204a09.tar.gz |
Refs #32203 -- Added tests for QuerySet.values()/values_list() on key transforms with non-trivial values.
Diffstat (limited to 'tests/model_fields')
-rw-r--r-- | tests/model_fields/test_jsonfield.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/model_fields/test_jsonfield.py b/tests/model_fields/test_jsonfield.py index 8bec000100..23479b4c0d 100644 --- a/tests/model_fields/test_jsonfield.py +++ b/tests/model_fields/test_jsonfield.py @@ -749,6 +749,19 @@ class TestQuerying(TestCase): expected, ) + def test_key_values(self): + qs = NullableJSONModel.objects.filter(value__h=True) + tests = [ + ('value__a', 'b'), + ('value__d', ['e', {'f': 'g'}]), + ('value__j', None), + ('value__k', {'l': 'm'}), + ('value__n', [None]), + ] + for lookup, expected in tests: + with self.subTest(lookup=lookup): + self.assertEqual(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) |