This package lets you use real Python (PEP435-style) enums with Django.
Installation
pip install skip-django-choice-enumfields
Included Tools
ChoiceEnum
Normally, you just use normal PEP435-style enums, however, django-choice-enumfields also encludes its own version of ChoiceEnum with a few extra bells and whistles. Namely, the smart definition of labels which are used, for example, in admin dropdowns. By default, it will create labels by title-casing your constant names. You can provide custom labels with using Choice to define enum item.
from enumfields import EnumField, ChoiceEnum, Choice # Our own Enum class
class Color(ChoiceEnum):
RED = Choice('r', 'A custom label')
GREEN = 'g'
BLUE = 'b'
class MyModel(models.Model):
color = EnumField(Color, max_length=1)
assert Color.GREEN.label == 'Green'
assert Color.RED.label == 'A custom label'
EnumFieldListFilter
enumfields.admin.EnumFieldListFilter is provided to allow using enums in list_filter.
from enumfields.admin import EnumFieldListFilter
class MyModelAdmin(admin.ModelAdmin):
list_filter = [('color', EnumFieldListFilter)]
Metadata
Release files for skip-django-choice-enumfields 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| skip_django_choice_enumfields-2.0.1.tar.gz | 15.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| skip_django_choice_enumfields-2.0.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 27.2 kB
Release files / skip_django_choice_enumfields-2.0.1.tar.gz
| Download URL | skip_django_choice_enumfields-2.0.1.tar.gz |
|---|---|
| Size | 15.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e58f9d454f1f85b69b0af982ee45b0c053dc9eaae4b3a51141af4d7cc015b5c0
|
|
BLAKE2b-256 checksum How to use checksums |
d8697e20099a3994dd706a68020c38cf8842c4ce15206c60b4f489d39417922e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / skip_django_choice_enumfields-2.0.1-py2.py3-none-any.whl
| Download URL | skip_django_choice_enumfields-2.0.1-py2.py3-none-any.whl |
|---|---|
| Size | 11.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
26a9a34a970b9f754b01e25327505275623a8905e9b23884100cbb5ea7b0ceb0
|
|
BLAKE2b-256 checksum How to use checksums |
62ae42bf6b9ebe48fb5247111524e4f0ab0371e5e0b117efe14b8969a0198e66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|