Metadata-Version: 2.1
Name: django_enum_choices
Version: 0.0.1
Summary: A custom Django field able to use subclasses of Python's internal `Enum` class as choices
Home-page: https://github.com/HackSoftware/django-enum-choices
Author: Vasil Slavov
Author-email: vasil.slavov@hacksoft.io
License: MIT
Description: 
        # django-enum-choices
        A custom Django field able to use subclasses of Python's internal `Enum` class as choices
        
        ## Installation
        ```bash
        git clone https://github.com/slavov-v/django-enum-choices.git
        pip install -e some-directory/django_enum_choices
        ```
        
        ## Basic Usage
        ```python
        # enums.py
        
        from enum import Enum
        
        class FooBarEnumeration(Enum):
            FOO = 'foo'
            BAR = 'bar'
        ```
        
        ```python
        # models.py
        
        from django import models
        
        from django_enum_choices.fields import EnumChoiceField
        
        from .enums import FooBarEnumeration
        
        class MyModel(models.Model):
            foo_bar_field = EnumChoiceField(enum_class=FooBarEnumeration)
        ```
        
        ```
        # python manage.py shell
        
        In [1]: instance = MyModel.objects.create(foo_bar_field=FooBarEnumeration.BAR)
        In [2]: instance.foo_bar_field
        Out[2]: <FooBarEnumeration.BAR: 'bar'>
        ```
        
        ## Usage with `Django Rest Framework`
        ```python
        # serializers.py
        
        from rest_framework import serializers
        
        from django_enum_choices.serializers import EnumChoiceField
        
        class MyModelSerializer(serializers.ModelSerializer):
            foo_bar_field = EnumChoiceField(enum_class=FooBarEnumeration)
        
            class Meta:
                model = MyModel
                fields = ('foo_bar_field', )
        ```
        
        ```
        # python manage.py shell
        
        In [1]: instance = MyModel.objects.create(foo_bar_field=FooBarEnumeration.BAR)
        In [2]: MyModelSerializer(instance).data
        Out[2]: {'foo_bar_field': 'bar'}
        ```
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.6.0
Description-Content-Type: text/markdown
