Real Python Enums for Django.
Project description
This package lets you use real Python (PEP435-style) enums with Django.
Installation
pip install django-enumfields
Included Tools
ChoiceEnum
Normally, you just use normal PEP435-style enums, however, django-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)]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for django-choice-enumfields-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ffa2e2df1f69961d9acb4e48125be3740ff4a5a9c8cb44a3d55c428580a1ee6 |
|
MD5 | 0534fbf941ac0e83323daf60e6b7af47 |
|
BLAKE2b-256 | e8c380c65d8dc9fbcbbaf73c69519e24063183392096815c8ceabfaec88af217 |