first comit
This commit is contained in:
78
venv/lib/python3.10/site-packages/django/contrib/postgres/fields/citext.py
Executable file
78
venv/lib/python3.10/site-packages/django/contrib/postgres/fields/citext.py
Executable file
@@ -0,0 +1,78 @@
|
||||
import warnings
|
||||
|
||||
from django.db.models import CharField, EmailField, TextField
|
||||
from django.test.utils import ignore_warnings
|
||||
from django.utils.deprecation import RemovedInDjango51Warning
|
||||
|
||||
__all__ = ["CICharField", "CIEmailField", "CIText", "CITextField"]
|
||||
|
||||
|
||||
# RemovedInDjango51Warning.
|
||||
class CIText:
|
||||
def __init__(self, *args, **kwargs):
|
||||
warnings.warn(
|
||||
"django.contrib.postgres.fields.CIText mixin is deprecated.",
|
||||
RemovedInDjango51Warning,
|
||||
stacklevel=2,
|
||||
)
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
def get_internal_type(self):
|
||||
return "CI" + super().get_internal_type()
|
||||
|
||||
def db_type(self, connection):
|
||||
return "citext"
|
||||
|
||||
|
||||
class CICharField(CIText, CharField):
|
||||
system_check_deprecated_details = {
|
||||
"msg": (
|
||||
"django.contrib.postgres.fields.CICharField is deprecated. Support for it "
|
||||
"(except in historical migrations) will be removed in Django 5.1."
|
||||
),
|
||||
"hint": (
|
||||
'Use CharField(db_collation="…") with a case-insensitive non-deterministic '
|
||||
"collation instead."
|
||||
),
|
||||
"id": "fields.W905",
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
with ignore_warnings(category=RemovedInDjango51Warning):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
|
||||
class CIEmailField(CIText, EmailField):
|
||||
system_check_deprecated_details = {
|
||||
"msg": (
|
||||
"django.contrib.postgres.fields.CIEmailField is deprecated. Support for it "
|
||||
"(except in historical migrations) will be removed in Django 5.1."
|
||||
),
|
||||
"hint": (
|
||||
'Use EmailField(db_collation="…") with a case-insensitive '
|
||||
"non-deterministic collation instead."
|
||||
),
|
||||
"id": "fields.W906",
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
with ignore_warnings(category=RemovedInDjango51Warning):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
|
||||
class CITextField(CIText, TextField):
|
||||
system_check_deprecated_details = {
|
||||
"msg": (
|
||||
"django.contrib.postgres.fields.CITextField is deprecated. Support for it "
|
||||
"(except in historical migrations) will be removed in Django 5.1."
|
||||
),
|
||||
"hint": (
|
||||
'Use TextField(db_collation="…") with a case-insensitive non-deterministic '
|
||||
"collation instead."
|
||||
),
|
||||
"id": "fields.W907",
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
with ignore_warnings(category=RemovedInDjango51Warning):
|
||||
super().__init__(*args, **kwargs)
|
||||
Reference in New Issue
Block a user