mirror of
https://github.com/django/django.git
synced 2025-07-24 13:44:32 +00:00
Fixed #28702 -- Made query lookups for CIText fields use citext.
This commit is contained in:
parent
78c5e7b90e
commit
f0a68c2511
6 changed files with 36 additions and 3 deletions
|
@ -12,6 +12,7 @@ from .models import CITestModel
|
|||
|
||||
@modify_settings(INSTALLED_APPS={'append': 'django.contrib.postgres'})
|
||||
class CITextTestCase(PostgreSQLTestCase):
|
||||
case_sensitive_lookups = ('contains', 'startswith', 'endswith', 'regex')
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
|
@ -42,3 +43,21 @@ class CITextTestCase(PostgreSQLTestCase):
|
|||
instance = CITestModel.objects.get()
|
||||
self.assertEqual(instance.array_field, self.john.array_field)
|
||||
self.assertTrue(CITestModel.objects.filter(array_field__contains=['joe']).exists())
|
||||
|
||||
def test_lookups_name_char(self):
|
||||
for lookup in self.case_sensitive_lookups:
|
||||
with self.subTest(lookup=lookup):
|
||||
query = {'name__{}'.format(lookup): 'john'}
|
||||
self.assertSequenceEqual(CITestModel.objects.filter(**query), [self.john])
|
||||
|
||||
def test_lookups_description_text(self):
|
||||
for lookup, string in zip(self.case_sensitive_lookups, ('average', 'average joe', 'john', 'Joe.named')):
|
||||
with self.subTest(lookup=lookup, string=string):
|
||||
query = {'description__{}'.format(lookup): string}
|
||||
self.assertSequenceEqual(CITestModel.objects.filter(**query), [self.john])
|
||||
|
||||
def test_lookups_email(self):
|
||||
for lookup, string in zip(self.case_sensitive_lookups, ('john', 'john', 'john.com', 'john.com')):
|
||||
with self.subTest(lookup=lookup, string=string):
|
||||
query = {'email__{}'.format(lookup): string}
|
||||
self.assertSequenceEqual(CITestModel.objects.filter(**query), [self.john])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue