mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #27257 -- Fixed builtin text lookups on JSONField keys.
Thanks Nick Stefan for the report and Tim for the review.
This commit is contained in:
@@ -124,6 +124,7 @@ class TestQuerying(PostgreSQLTestCase):
|
||||
'k': True,
|
||||
'l': False,
|
||||
}),
|
||||
JSONModel.objects.create(field={'foo': 'bar'}),
|
||||
]
|
||||
|
||||
def test_exact(self):
|
||||
@@ -237,6 +238,27 @@ class TestQuerying(PostgreSQLTestCase):
|
||||
self.objs[7:9]
|
||||
)
|
||||
|
||||
def test_icontains(self):
|
||||
self.assertFalse(JSONModel.objects.filter(field__foo__icontains='"bar"').exists())
|
||||
|
||||
def test_startswith(self):
|
||||
self.assertTrue(JSONModel.objects.filter(field__foo__startswith='b').exists())
|
||||
|
||||
def test_istartswith(self):
|
||||
self.assertTrue(JSONModel.objects.filter(field__foo__istartswith='B').exists())
|
||||
|
||||
def test_endswith(self):
|
||||
self.assertTrue(JSONModel.objects.filter(field__foo__endswith='r').exists())
|
||||
|
||||
def test_iendswith(self):
|
||||
self.assertTrue(JSONModel.objects.filter(field__foo__iendswith='R').exists())
|
||||
|
||||
def test_regex(self):
|
||||
self.assertTrue(JSONModel.objects.filter(field__foo__regex=r'^bar$').exists())
|
||||
|
||||
def test_iregex(self):
|
||||
self.assertTrue(JSONModel.objects.filter(field__foo__iregex=r'^bAr$').exists())
|
||||
|
||||
|
||||
@skipUnlessDBFeature('has_jsonb_datatype')
|
||||
class TestSerialization(PostgreSQLTestCase):
|
||||
|
||||
Reference in New Issue
Block a user