From 55f71b195b76f4806bd1cd928f85d9c72aa935f4 Mon Sep 17 00:00:00 2001 From: Sarah Boyce <42296566+sarahboyce@users.noreply.github.com> Date: Thu, 12 Dec 2024 18:00:20 +0100 Subject: [PATCH] Removed ChoicesMeta per deprecation timeline. --- django/db/models/enums.py | 13 ------------- docs/releases/6.0.txt | 3 +++ tests/model_enums/tests.py | 11 ----------- 3 files changed, 3 insertions(+), 24 deletions(-) diff --git a/django/db/models/enums.py b/django/db/models/enums.py index bdc669bff0..54e8bf8fad 100644 --- a/django/db/models/enums.py +++ b/django/db/models/enums.py @@ -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}") diff --git a/docs/releases/6.0.txt b/docs/releases/6.0.txt index 8708e4495a..596b11b27c 100644 --- a/docs/releases/6.0.txt +++ b/docs/releases/6.0.txt @@ -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. diff --git a/tests/model_enums/tests.py b/tests/model_enums/tests.py index ee9dc369f6..e60df7c24b 100644 --- a/tests/model_enums/tests.py +++ b/tests/model_enums/tests.py @@ -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__)