summaryrefslogtreecommitdiff
path: root/django/db/models/enums.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/models/enums.py')
-rw-r--r--django/db/models/enums.py37
1 files changed, 3 insertions, 34 deletions
diff --git a/django/db/models/enums.py b/django/db/models/enums.py
index 54e8bf8fad..cb17fe9756 100644
--- a/django/db/models/enums.py
+++ b/django/db/models/enums.py
@@ -1,25 +1,8 @@
import enum
+from enum import EnumType, IntEnum, StrEnum
+from enum import property as enum_property
from django.utils.functional import Promise
-from django.utils.version import PY311, PY312
-
-if PY311:
- from enum import EnumType, IntEnum, StrEnum
- from enum import property as enum_property
-else:
- from enum import EnumMeta as EnumType
- from types import DynamicClassAttribute as enum_property
-
- class ReprEnum(enum.Enum):
- def __str__(self):
- return str(self.value)
-
- class IntEnum(int, ReprEnum):
- pass
-
- class StrEnum(str, ReprEnum):
- pass
-
__all__ = ["Choices", "IntegerChoices", "TextChoices"]
@@ -49,14 +32,6 @@ class ChoicesType(EnumType):
member._label_ = label
return enum.unique(cls)
- if not PY312:
-
- def __contains__(cls, member):
- if not isinstance(member, enum.Enum):
- # Allow non-enums to match against member values.
- return any(x.value == member for x in cls)
- return super().__contains__(member)
-
@property
def names(cls):
empty = ["__empty__"] if hasattr(cls, "__empty__") else []
@@ -79,13 +54,7 @@ class ChoicesType(EnumType):
class Choices(enum.Enum, metaclass=ChoicesType):
"""Class for creating enumerated choices."""
- if PY311:
- do_not_call_in_templates = enum.nonmember(True)
- else:
-
- @property
- def do_not_call_in_templates(self):
- return True
+ do_not_call_in_templates = enum.nonmember(True)
@enum_property
def label(self):