summaryrefslogtreecommitdiff
path: root/tests/model_fields
diff options
context:
space:
mode:
authorsage <laymonage@gmail.com>2020-11-25 13:27:35 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-11-25 13:48:11 +0100
commit7408c4cd157ae18971302a2baf7aacce7c204a09 (patch)
treeb0f112cdc856a8699d58f894cf247c5d06d73847 /tests/model_fields
parentf5e5aac59ebbcea46b98d37834915de0f43d7cc8 (diff)
downloaddjango-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.py13
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)