Skip to content

Commit a2abeb3

Browse files
laymonagefelixxm
authored andcommitted
[3.1.x] Refs #32203 -- Added tests for QuerySet.values()/values_list() on key transforms with non-trivial values.
Backport of 7408c4c from master
1 parent 97bfe0c commit a2abeb3

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

‎tests/model_fields/test_jsonfield.py‎

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -680,6 +680,19 @@ def test_key_in(self):
680680
expected,
681681
)
682682

683+
def test_key_values(self):
684+
qs = NullableJSONModel.objects.filter(value__h=True)
685+
tests = [
686+
('value__a', 'b'),
687+
('value__d', ['e', {'f': 'g'}]),
688+
('value__j', None),
689+
('value__k', {'l': 'm'}),
690+
('value__n', [None]),
691+
]
692+
for lookup, expected in tests:
693+
with self.subTest(lookup=lookup):
694+
self.assertEqual(qs.values_list(lookup, flat=True).get(), expected)
695+
683696
@skipUnlessDBFeature('supports_json_field_contains')
684697
def test_key_contains(self):
685698
self.assertIs(NullableJSONModel.objects.filter(value__foo__contains='ar').exists(), False)

0 commit comments

Comments
 (0)