django rest框架序列化器实用程序
drf-multiple-serializer的Python项目详细描述
DRF多重序列化程序
在django rest框架中使用多序列化程序的扩展。
安装
从PyPI安装
pip install drf-multiple-serializer
无需修改已安装的应用程序设置。
用法
动作基础
使用viewset操作将序列化程序设置为序列化程序类。
其余操作使用默认序列化程序。
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,
}
读写
将读写序列化程序设置为序列化程序类。
list,使用读序列化器检索操作,
其他操作(包括delete)使用写序列化程序。
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,
}
测试
> python3 -m venv venv
> source venv/bin/activate
(venv) > pytest