1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #33872 -- Deprecated django.contrib.postgres.fields.CIText/CICharField/CIEmailField/CITextField.

This commit is contained in:
Mariusz Felisiak
2022-08-03 11:42:51 +02:00
committed by GitHub
parent 09e837c5d9
commit cb791a2540
15 changed files with 228 additions and 21 deletions

View File

@@ -7,12 +7,12 @@ import enum
from django.db import models
try:
from django.contrib.postgres.fields import CICharField # RemovedInDjango51Warning.
from django.contrib.postgres.fields import CIEmailField # RemovedInDjango51Warning.
from django.contrib.postgres.fields import CITextField # RemovedInDjango51Warning.
from django.contrib.postgres.fields import (
ArrayField,
BigIntegerRangeField,
CICharField,
CIEmailField,
CITextField,
DateRangeField,
DateTimeRangeField,
DecimalRangeField,
@@ -47,9 +47,9 @@ except ImportError:
ArrayField = DummyArrayField
BigIntegerRangeField = models.Field
CICharField = models.Field
CIEmailField = models.Field
CITextField = models.Field
CICharField = models.Field # RemovedInDjango51Warning.
CIEmailField = models.Field # RemovedInDjango51Warning.
CITextField = models.Field # RemovedInDjango51Warning.
DateRangeField = models.Field
DateTimeRangeField = DummyContinuousRangeField
DecimalRangeField = DummyContinuousRangeField

View File

@@ -291,6 +291,7 @@ class Migration(migrations.Migration):
options=None,
bases=None,
),
# RemovedInDjango51Warning.
migrations.CreateModel(
name="CITestModel",
fields=[

View File

@@ -119,6 +119,7 @@ class Character(models.Model):
name = models.CharField(max_length=255)
# RemovedInDjango51Warning.
class CITestModel(PostgreSQLModel):
name = CICharField(primary_key=True, max_length=255)
email = CIEmailField()

View File

@@ -1,3 +1,4 @@
# RemovedInDjango51Warning.
"""
The citext PostgreSQL extension supports indexing of case-insensitive text
strings and thus eliminates the need for operations such as iexact and other
@@ -5,6 +6,7 @@ modifiers to enforce use of an index.
"""
from django.db import IntegrityError
from django.test.utils import modify_settings
from django.utils.deprecation import RemovedInDjango51Warning
from . import PostgreSQLTestCase
from .models import CITestModel
@@ -82,3 +84,10 @@ class CITextTestCase(PostgreSQLTestCase):
self.assertSequenceEqual(
CITestModel.objects.filter(**query), [self.john]
)
def test_citext_deprecated(self):
from django.contrib.postgres.fields import CIText
msg = "django.contrib.postgres.fields.CIText mixin is deprecated."
with self.assertRaisesMessage(RemovedInDjango51Warning, msg):
CIText()