Django REST framework serializer utility
Project description
DRF multiple serializer
Extension for using multiple serializer in Django REST Framework.
Installation
Install from PyPI
pip install drf-multiple-serializer
There is no need to modify your INSTALLED_APPS setting.
Usage
Action Base
Set the serializer to serializer_classes with the viewset action.
The rest of the actions use the default serializer.
from rest_framework import viewsets
from drf_multiple_serializer import MultipleSerializerMixin
class CategoryViewSet(ActionBaseSerializerMixin,
viewsets.ModelViewSet):
queryset = Category.objects.all()
serializer_classes = {
'default': CategorySerializer,
'list': CategoryListSerializer,
'retrieve': CategoryReadSerializer,
}
Read & Write
Set the read & write serializer to serializer_classes.
List, Retrieve actions use a read serializer,
and the other actions (include delete) use a write serializer.
from rest_framework import viewsets
from drf_multiple_serializer import ReadWriteSerializerMixin
class ItemViewSet(ReadWriteSerializerMixin,
viewsets.ModelViewSet):
queryset = Item.objects.all()
serializer_classes = {
'read': ItemReadSerializer,
'write': ItemWriteSerializer,
}
Test
> python3 -m venv venv
> source venv/bin/activate
(venv) > pytest
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
File details
Details for the file drf-multiple-serializer-0.2.3.tar.gz
.
File metadata
- Download URL: drf-multiple-serializer-0.2.3.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.3 requests-toolbelt/0.9.1 tqdm/4.26.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1919c7c3d55959971cdd53f68b9fc695c4d58733bf5a0f935a4b565ce88b54d8 |
|
MD5 | 08050d067a337de9c3c5d2808a4a1957 |
|
BLAKE2b-256 | 2ab0741bf0b9d789621c6808ad9b2213a162cd3764f26d8082d1f1b8df7b7da2 |