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
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| django-rf-candv-choices-1.0.0.tar.gz | 6.1 kB | Without provenance | Details for django-rf-candv-choices-1.0.0.tar.gz |
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 |
Security for django-rf-candv-choices 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.