Refs #27236 -- Refactored out DeprecationForHistoricalMigrationMixin.
This commit is contained in:
parent
6f80050496
commit
57793b4765
|
@ -24,6 +24,7 @@ from django.utils.dateparse import (
|
||||||
parse_duration,
|
parse_duration,
|
||||||
parse_time,
|
parse_time,
|
||||||
)
|
)
|
||||||
|
from django.utils.deprecation import DeprecationForHistoricalMigrationMixin
|
||||||
from django.utils.duration import duration_microseconds, duration_string
|
from django.utils.duration import duration_microseconds, duration_string
|
||||||
from django.utils.functional import Promise, cached_property
|
from django.utils.functional import Promise, cached_property
|
||||||
from django.utils.ipv6 import clean_ipv6_address
|
from django.utils.ipv6 import clean_ipv6_address
|
||||||
|
@ -111,7 +112,7 @@ def return_None():
|
||||||
|
|
||||||
|
|
||||||
@total_ordering
|
@total_ordering
|
||||||
class Field(RegisterLookupMixin):
|
class Field(DeprecationForHistoricalMigrationMixin, RegisterLookupMixin):
|
||||||
"""Base class for all field types"""
|
"""Base class for all field types"""
|
||||||
|
|
||||||
# Designates whether empty strings fundamentally are allowed at the
|
# Designates whether empty strings fundamentally are allowed at the
|
||||||
|
@ -137,8 +138,7 @@ class Field(RegisterLookupMixin):
|
||||||
"%(date_field_label)s %(lookup_type)s."
|
"%(date_field_label)s %(lookup_type)s."
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
system_check_deprecated_details = None
|
check_type = "fields"
|
||||||
system_check_removed_details = None
|
|
||||||
|
|
||||||
# Attributes that don't affect a column definition.
|
# Attributes that don't affect a column definition.
|
||||||
# These attributes are ignored when altering the field.
|
# These attributes are ignored when altering the field.
|
||||||
|
@ -263,7 +263,7 @@ class Field(RegisterLookupMixin):
|
||||||
*self._check_null_allowed_for_primary_keys(),
|
*self._check_null_allowed_for_primary_keys(),
|
||||||
*self._check_backend_specific_checks(**kwargs),
|
*self._check_backend_specific_checks(**kwargs),
|
||||||
*self._check_validators(),
|
*self._check_validators(),
|
||||||
*self._check_deprecation_details(),
|
*self.check_deprecation_details(),
|
||||||
]
|
]
|
||||||
|
|
||||||
def _check_field_name(self):
|
def _check_field_name(self):
|
||||||
|
@ -441,33 +441,6 @@ class Field(RegisterLookupMixin):
|
||||||
)
|
)
|
||||||
return errors
|
return errors
|
||||||
|
|
||||||
def _check_deprecation_details(self):
|
|
||||||
if self.system_check_removed_details is not None:
|
|
||||||
return [
|
|
||||||
checks.Error(
|
|
||||||
self.system_check_removed_details.get(
|
|
||||||
"msg",
|
|
||||||
"%s has been removed except for support in historical "
|
|
||||||
"migrations." % self.__class__.__name__,
|
|
||||||
),
|
|
||||||
hint=self.system_check_removed_details.get("hint"),
|
|
||||||
obj=self,
|
|
||||||
id=self.system_check_removed_details.get("id", "fields.EXXX"),
|
|
||||||
)
|
|
||||||
]
|
|
||||||
elif self.system_check_deprecated_details is not None:
|
|
||||||
return [
|
|
||||||
checks.Warning(
|
|
||||||
self.system_check_deprecated_details.get(
|
|
||||||
"msg", "%s has been deprecated." % self.__class__.__name__
|
|
||||||
),
|
|
||||||
hint=self.system_check_deprecated_details.get("hint"),
|
|
||||||
obj=self,
|
|
||||||
id=self.system_check_deprecated_details.get("id", "fields.WXXX"),
|
|
||||||
)
|
|
||||||
]
|
|
||||||
return []
|
|
||||||
|
|
||||||
def get_col(self, alias, output_field=None):
|
def get_col(self, alias, output_field=None):
|
||||||
if alias == self.model._meta.db_table and (
|
if alias == self.model._meta.db_table and (
|
||||||
output_field is None or output_field == self
|
output_field is None or output_field == self
|
||||||
|
|
|
@ -157,3 +157,42 @@ class MiddlewareMixin:
|
||||||
thread_sensitive=True,
|
thread_sensitive=True,
|
||||||
)(request, response)
|
)(request, response)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
|
||||||
|
class DeprecationForHistoricalMigrationMixin:
|
||||||
|
system_check_deprecated_details = None
|
||||||
|
system_check_removed_details = None
|
||||||
|
check_type = ""
|
||||||
|
|
||||||
|
def check_deprecation_details(self):
|
||||||
|
from django.core import checks
|
||||||
|
|
||||||
|
if self.system_check_removed_details is not None:
|
||||||
|
return [
|
||||||
|
checks.Error(
|
||||||
|
self.system_check_removed_details.get(
|
||||||
|
"msg",
|
||||||
|
"%s has been removed except for support in historical "
|
||||||
|
"migrations." % self.__class__.__name__,
|
||||||
|
),
|
||||||
|
hint=self.system_check_removed_details.get("hint"),
|
||||||
|
obj=self,
|
||||||
|
id=self.system_check_removed_details.get(
|
||||||
|
"id", f"{self.check_type}.EXXX"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
]
|
||||||
|
elif self.system_check_deprecated_details is not None:
|
||||||
|
return [
|
||||||
|
checks.Warning(
|
||||||
|
self.system_check_deprecated_details.get(
|
||||||
|
"msg", "%s has been deprecated." % self.__class__.__name__
|
||||||
|
),
|
||||||
|
hint=self.system_check_deprecated_details.get("hint"),
|
||||||
|
obj=self,
|
||||||
|
id=self.system_check_deprecated_details.get(
|
||||||
|
"id", f"{self.check_type}.WXXX"
|
||||||
|
),
|
||||||
|
)
|
||||||
|
]
|
||||||
|
return []
|
||||||
|
|
Loading…
Reference in New Issue