Metadata-Version: 1.1
Name: django-choices
Version: 1.7.1
Summary: Sanity for the django choices functionality.
Home-page: https://github.com/bigjason/django-choices
Author: Jason Webb
Author-email: bigjasonwebb@gmail.com,sergeimaertens@gmail.com
License: MIT
Description: ==============
        Django-Choices
        ==============
        
        |travis| |coverage| |docs| |pypi| |python-versions| |django-versions|
        
        Order and sanity for django model choices.
        ------------------------------------------
        
        Django choices provides a declarative way of using the choices_ option on django_
        fields. Read the full `documentation`_ on ReadTheDocs.
        
        ------------
        Installation
        ------------
        
        You can install via PyPi_ or direct from the github_ repo.
        
        .. code-block:: bash
        
            $ pip install django-choices
        
        -----------
        Basic Usage
        -----------
        
        To start you create a choices class. Then you point the choices property on your
        fields to the ``choices`` attribute of the new class. Django will be able to use
        the choices and you will be able to access the values by name.  For example you
        can replace this:
        
        .. code-block:: python
        
            # In models.py
            class Person(models.Model):
            	# Choices
            	PERSON_TYPE = (
                    ("C", "Customer"),
                    ("E", "Employee"),
                    ("G", "Groundhog"),
                )
                # Fields
                name = models.CharField(max_length=32)
                type = models.CharField(max_length=1, choices=PERSON_TYPE)
        
        With this:
        
        .. code-block:: python
        
            # In models.py
            from djchoices import DjangoChoices, ChoiceItem
        
            class Person(models.Model):
            	# Choices
                class PersonType(DjangoChoices):
                    customer = ChoiceItem("C")
                    employee = ChoiceItem("E")
                    groundhog = ChoiceItem("G")
        
                # Fields
                name = models.CharField(max_length=32)
                type = models.CharField(max_length=1, choices=PersonType.choices)
        
        You can use this elsewhere like this:
        
        .. code-block:: python
        
            # Other code
            Person.create(name="Phil", type=Person.PersonType.groundhog)
        
        You can use them without value, and the label will be used as value:
        
        .. code-block:: python
        
            class Sample(DjangoChoices):
                option_a = ChoiceItem()
                option_b = ChoiceItem()
        
            print(Sample.option_a)  # "option_a"
        
        -------
        License
        -------
        
        Licensed under the `MIT License`_.
        
        -----------
        Source Code
        -----------
        
        The source code can be found on github_.
        
        .. |travis| image:: https://secure.travis-ci.org/bigjason/django-choices.svg?branch=master
            :target: http://travis-ci.org/bigjason/django-choices
        
        .. |coverage| image:: https://coveralls.io/repos/bigjason/django-choices/badge.svg?branch=master&service=github
            :target: https://coveralls.io/github/bigjason/django-choices?branch=master
        
        .. |docs| image:: https://readthedocs.org/projects/django-choices/badge/?version=latest
            :target: http://django-choices.readthedocs.io/en/latest/
            :alt: Documentation Status
        
        .. |pypi| image:: https://img.shields.io/pypi/v/django-choices.svg
            :target: https://pypi.python.org/pypi/django-choices
        
        .. |python-versions| image:: https://img.shields.io/pypi/pyversions/django-choices.svg
        
        .. |django-versions| image:: https://img.shields.io/pypi/djversions/django-choices.svg
        
        .. _choices: https://docs.djangoproject.com/en/stable/ref/models/fields/#choices
        .. _MIT License: https://en.wikipedia.org/wiki/MIT_License
        .. _django: https://www.djangoproject.com/
        .. _github: https://github.com/bigjason/django-choices
        .. _PyPi: https://pypi.org/project/django-choices/
        .. _documentation: https://django-choices.readthedocs.io/en/latest/
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: OS Independent
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Framework :: Django :: 2.1
Classifier: Framework :: Django :: 2.2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: PyPy
