Choices

Support for symmetrical property enumeration types derived from Django choice types. These choices types are drop in replacements for the Django IntegerChoices and TextChoices.

class django_enum.choices.DjangoEnumPropertiesMeta(classname, bases, classdict, **kwargs)[source]

Bases: EnumPropertiesMeta, ChoicesMeta

A composite meta class that combines Django’s Choices metaclass with enum-properties metaclass. This metaclass will add Django’s expected choices attribute and label properties to enumerations and enum-properties’ generic property support.

property choices: List[Tuple[Any, str]]

For some eccentric enums list(Enum) is empty, so we override choices if empty

Returns:

list of enum value choices

property names: List[str]

For some eccentric enums list(Enum) is empty, so we override names if empty.

Returns:

list of enum value names

class django_enum.choices.DjangoSymmetricMixin[source]

Bases: SymmetricMixin

An enumeration mixin that makes Django’s Choices type label field symmetric.

class django_enum.choices.FlagChoices(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: DecomposeMixin, DjangoSymmetricMixin, IntFlag, Choices

An integer flag enumeration type that accepts enum-properties property lists.

class django_enum.choices.FloatChoices(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: DjangoSymmetricMixin, float, Choices

A floating point enumeration type that accepts enum-properties property lists.

class django_enum.choices.IntegerChoices(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: DjangoSymmetricMixin, IntegerChoices

An integer enumeration type that extends Django’s IntegerChoices and accepts enum-properties property lists.

class django_enum.choices.TextChoices(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: DjangoSymmetricMixin, TextChoices

A character enumeration type that extends Django’s TextChoices and accepts enum-properties property lists.