Support of django-candv-choices for django-rest-framework.
Project description
Use django-candv-choices with django-rest-framework.
Table of contents
Installation
Install from PyPI:
$ pip install django-rf-candv-choices
Usage
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)
Changelog
You can click a version name to see a diff with the previous one.
1.0.0 (Aug 1, 2015)
Initial version
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-rf-candv-choices-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73a5d8ffacdd6999bcb148f2fe85f6935e9fcae33f48b72d160dcbfd343e6b0c |
|
MD5 | 1478d3e115478cfd392642a73c47ea19 |
|
BLAKE2b-256 | 4a253346d41697f279607543f696cc89cab546ce9a9787d29f5ab66deda37764 |