summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2024-12-13 09:33:45 +0100
committerSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2025-01-15 22:28:37 +0100
commitbc3f3031d8ae0b689d02a427f33df24a90cf54c1 (patch)
tree6cbb62607599f28606736d37459859ebfef650c4
parent85750bd2f8ed7e595aac25c7e5fd7218528a25b1 (diff)
Refs #35405 -- Removed FieldCacheMixin.get_cache_name() per deprecation timeline.
-rw-r--r--django/db/models/fields/mixins.py18
-rw-r--r--docs/releases/6.0.txt2
-rw-r--r--tests/model_fields/test_mixins.py23
3 files changed, 5 insertions, 38 deletions
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