easy-choices

Handle choices field easily


License
Apache-2.0
Install
pip install easy-choices==1.0.0

Documentation

easy-choices

https://circleci.com/gh/olist/easy-choices.svg?style=shield

It's a library deeply inspired by Choices from django-model-utils. However, sometimes we just need to use Choices rather than all the features provided by django-model-utils.

Requirements

  • Python >= 3.5

Usage

The easy-choices package is hosted on our PyPI repository.

You can install the latest version of easy-choices using pip:

$ pip install easy-choices

And use easy-choices as it's demonstrated below:

from django.db import models
from easy_choices import Choices

status_choices = Choices(
    ("sent", "Sent"),
    ("delivered", "Delivered"),
)

class Product(models.Model)
    price = models.DecimalField(max_digits=10, decimal_places=2)
    status = models.CharField(max_length=10, choices=status_choices.to_django_choices())

    @property
    def is_delivered(self):
        # You can use status_choices as a Enum
        return self.status == status_choices.delivered