处理字段配置的序列化程序,具有来自视图集的多个操作。

drf-action-serializer的Python项目详细描述


操作序列化程序

https://travis-ci.org/gregschmit/drf-action-serializer.svg?branch=masterPyPIhttps://coveralls.io/repos/github/gregschmit/drf-action-serializer/badge.svg?branch=master

来源:https://github.com/gregschmit/drf-action-serializer

PYPI:https://pypi.org/project/drf-action-serializer/

action serializer是一个django rest框架扩展包,它提供了 实现每个操作字段配置的序列化程序,用于 DRF驱动的API。

问题:在构建api时,通常需要不同的序列化程序 不同的操作,例如列表视图与详细视图上的字段较少。正常情况下 必须构建多个序列化程序才能支持此操作。

解决方案:此应用程序提供ModelActionSerializer,它允许 您可以轻松配置每个操作的序列化。

如何使用

$ pip install drf-action-serializer

在序列化程序中,从action_serializer.ModelActionSerializer继承。

在序列化程序中,可以将action_fields字典添加到Meta 类并在操作下使用fieldsexcludeextra_kwargs。 钥匙。此项目中的示例演示如何呈现 列表视图与详细视图的属性。

fromdjango.contrib.auth.modelsimportGroupfrom.serializersimportModelActionSerializerclassGroupActionSerializer(ModelActionSerializer):"""
    An example serializer for the Django ``Group`` model with details, and
    the list view has less fields than the detail.
    """classMeta:model=Groupfields=('id','name','permissions')action_fields={'list':{'fields':('id','name'),},}

在您的视图集中,只需像normal一样设置序列化程序:

fromrest_framework.viewsetsimportModelViewSetclassGroupViewSet(ModelViewSet):"""
    An example viewset for the Django ``Group`` model.
    """serializer_class=GroupActionSerializerqueryset=Group.objects.all()

测试

$ python manage.py test

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java程序运行时错误   JavaAndroidStudio:与往常一样,四舍五入到next.5或.0   apache使用Java以表单数据形式上载文件   带矢量的java Freeflight相机如何正确旋转?   java如何以编程方式检索有关当前项目的语言、操作系统、体系结构等信息   java Twitter4J tweet实体?   java PdfBox编码异常   java在拖动未装饰的舞台时,如何强制光标停留在窗口上   JavaSpring注释扫描优化   java无法通过IntelliJ Idea在tomcat上运行服务   java在生命周期中如何拦截请求?   java中的数组返回错误