1
0
mirror of https://github.com/django/django.git synced 2025-04-08 07:26:41 +00:00

Removed ChoicesMeta per deprecation timeline.

This commit is contained in:
Sarah Boyce 2024-12-12 18:00:20 +01:00
parent b4bc393b23
commit 55f71b195b
3 changed files with 3 additions and 24 deletions

View File

@ -1,7 +1,5 @@
import enum
import warnings
from django.utils.deprecation import RemovedInDjango60Warning
from django.utils.functional import Promise
from django.utils.version import PY311, PY312
@ -110,14 +108,3 @@ class TextChoices(Choices, StrEnum):
@staticmethod
def _generate_next_value_(name, start, count, last_values):
return name
def __getattr__(name):
if name == "ChoicesMeta":
warnings.warn(
"ChoicesMeta is deprecated in favor of ChoicesType.",
RemovedInDjango60Warning,
stacklevel=2,
)
return ChoicesType
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

View File

@ -283,6 +283,9 @@ to remove usage of these features.
* Support for ``cx_Oracle`` is removed.
* The ``ChoicesMeta`` alias to ``django.db.models.enums.ChoicesType`` is
removed.
See :ref:`deprecated-features-5.1` for details on these changes, including how
to remove usage of these features.

View File

@ -6,7 +6,6 @@ import uuid
from django.db import models
from django.template import Context, Template
from django.test import SimpleTestCase
from django.utils.deprecation import RemovedInDjango60Warning
from django.utils.functional import Promise
from django.utils.translation import gettext_lazy as _
from django.utils.version import PY311
@ -321,13 +320,3 @@ class CustomChoicesTests(SimpleTestCase):
class Identifier(uuid.UUID, models.Choices):
A = "972ce4eb-a95f-4a56-9339-68c208a76f18"
class ChoicesMetaDeprecationTests(SimpleTestCase):
def test_deprecation_warning(self):
from django.db.models import enums
msg = "ChoicesMeta is deprecated in favor of ChoicesType."
with self.assertWarnsMessage(RemovedInDjango60Warning, msg) as ctx:
enums.ChoicesMeta
self.assertEqual(ctx.filename, __file__)