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
Release files for django-rf-candv-choices 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-rf-candv-choices-1.0.0.tar.gz | 6.1 kB | Details |
Release files / django-rf-candv-choices-1.0.0.tar.gz
| Download URL | django-rf-candv-choices-1.0.0.tar.gz |
|---|---|
| Size | 6.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
73a5d8ffacdd6999bcb148f2fe85f6935e9fcae33f48b72d160dcbfd343e6b0c
|
|
BLAKE2b-256 checksum How to use checksums |
4a253346d41697f279607543f696cc89cab546ce9a9787d29f5ab66deda37764
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |