Skip to main content

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

See Django EnumChoiceField on ReadTheDocs.

Testing

To run the tests:

$ virtualenv venv
$ source venv/bin/activate
$ pip install -r requirements-dev.txt
$ tox

Project details


Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page