Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Support of django-candv-choices for django-rest-framework.

Project Description

Use django-candv-choices with django-rest-framework.

Table of contents


Install from PyPI:

$ pip install django-rf-candv-choices


Serializing choices

For example, you have some model which uses candv_x.django.choices.ChoiceField to store one of allowed values. This might be a User model, which has user_role field, where values for user_role are defined by USER_ROLES constants container.

Use candv_x.rest_framework.choices.ChoiceField for user_role serialization:

from rest_framework import serializers
from candv_x.rest_framework.choices import ChoiceField

from .constants import USER_ROLES
from .models import User

class UserSerializer(serializers.ModelSerializer):
    user_role = ChoiceField(USER_ROLES)

    class Meta:
        model = User
        fields = ('id', 'name', 'user_role', )

Exposing choices to the outer world

If you need to expose list of possible choices for your field, then you can use a ChoicesList base view to get a class-based view:

from candv_x.rest_framework.choices import ChoicesList

from .constants import USER_ROLES

class UserRoleList(ChoicesList):
    choices = USER_ROLES

The only thing you need to do is to define choices attribute.

There is a faster way also: you can use a coalitions_list view factory to get a function-based view:

from candv_x.rest_framework.choices import simple_choices_list

from .constants import USER_ROLES

user_role_list = simple_choices_list(USER_ROLES)


You can click a version name to see a diff with the previous one.

  • 1.0.0 (Aug 1, 2015)

    Initial version

Release History

This version
History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(6.1 kB) Copy SHA256 Hash SHA256
Source None Aug 1, 2015

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting