diff options
Diffstat (limited to 'django/db/models/enums.py')
| -rw-r--r-- | django/db/models/enums.py | 37 |
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): |
