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
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
|