This package lets you use real Python (PEP435-style) enums with Django.
Installation
pip install 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)]
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-choice-enumfields-1.1.3.tar.gz.
File metadata
- Download URL: django-choice-enumfields-1.1.3.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.3.0 pkginfo/1.7.0 requests/2.28.1 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d1529cb76904f2c738322b064327f8a217eb043a97bdb228b8cae4bf91971f3
|
|
| MD5 |
48ec2dc91e22a33c9837d6918da3bd4d
|
|
| BLAKE2b-256 |
6f2986961560080f7285c95621d247ef681839422071fcf340313232dfbb4bc9
|