diff --git a/django/db/models/fields/mixins.py b/django/db/models/fields/mixins.py index 6774303773..7de4120a1e 100644 --- a/django/db/models/fields/mixins.py +++ b/django/db/models/fields/mixins.py @@ -1,7 +1,4 @@ -import warnings - from django.core import checks -from django.utils.deprecation import RemovedInDjango60Warning from django.utils.functional import cached_property NOT_PROVIDED = object() @@ -15,22 +12,9 @@ class FieldCacheMixin: typically the field’s name. """ - # RemovedInDjango60Warning. - def get_cache_name(self): - raise NotImplementedError - @cached_property def cache_name(self): - # RemovedInDjango60Warning: when the deprecation ends, replace with: - # raise NotImplementedError - cache_name = self.get_cache_name() - warnings.warn( - f"Override {self.__class__.__qualname__}.cache_name instead of " - "get_cache_name().", - RemovedInDjango60Warning, - stacklevel=3, - ) - return cache_name + raise NotImplementedError def get_cached_value(self, instance, default=NOT_PROVIDED): try: diff --git a/docs/releases/6.0.txt b/docs/releases/6.0.txt index 6969aed7f4..ac2b984207 100644 --- a/docs/releases/6.0.txt +++ b/docs/releases/6.0.txt @@ -316,3 +316,5 @@ to remove usage of these features. * The setter for ``django.contrib.gis.gdal.OGRGeometry.coord_dim`` is removed. * The ``check`` keyword argument of ``CheckConstraint`` is removed. + +* The ``get_cache_name()`` method of ``FieldCacheMixin`` is removed. diff --git a/tests/model_fields/test_mixins.py b/tests/model_fields/test_mixins.py index 8847f25987..f3412eed3a 100644 --- a/tests/model_fields/test_mixins.py +++ b/tests/model_fields/test_mixins.py @@ -1,17 +1,10 @@ from django.db.models.fields.mixins import FieldCacheMixin from django.test import SimpleTestCase -from django.utils.deprecation import RemovedInDjango60Warning from django.utils.functional import cached_property from .models import Foo -# RemovedInDjango60Warning. -class ExampleOld(FieldCacheMixin): - def get_cache_name(self): - return "example" - - class Example(FieldCacheMixin): @cached_property def cache_name(self): @@ -23,21 +16,9 @@ class FieldCacheMixinTests(SimpleTestCase): self.instance = Foo() self.field = Example() - # RemovedInDjango60Warning: when the deprecation ends, replace with: - # def test_cache_name_not_implemented(self): - # with self.assertRaises(NotImplementedError): - # FieldCacheMixin().cache_name - def test_get_cache_name_not_implemented(self): + def test_cache_name_not_implemented(self): with self.assertRaises(NotImplementedError): - FieldCacheMixin().get_cache_name() - - # RemovedInDjango60Warning. - def test_get_cache_name_deprecated(self): - msg = "Override ExampleOld.cache_name instead of get_cache_name()." - with self.assertWarnsMessage(RemovedInDjango60Warning, msg) as ctx: - result = ExampleOld().cache_name - self.assertEqual(result, "example") - self.assertEqual(ctx.filename, __file__) + FieldCacheMixin().cache_name def test_cache_name(self): result = Example().cache_name