A choice field for Django using native Python Enums
Project description
A Django model field for native Python Enums.
Warning
TL;DR - Think twice before using this package. This is an ad hoc fork of the unmaintained Django EnumChoiceField that can be used by projects that are dependant on the said package. For new projects (or projects that look for a better way to handle enums) you are strongly advised to check out the maintained Django EnumFields.
A quick how-to
from enumchoicefield import ChoiceEnum, EnumChoiceField
class Fruit(ChoiceEnum):
apple = "Apple"
banana = "Banana"
orange = "Orange"
class Profile(models.Model):
name = models.CharField(max_length=100)
favourite_fruit = EnumChoiceField(Fruit, default=Fruit.banana)
Documentation
Testing
To run the tests:
$ virtualenv venv
$ source venv/bin/activate
$ pip install -r requirements-dev.txt
$ tox