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

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 Android:在ListView上使用setOnItemClickListener   使用Netbeans 7.0连接到SQL Server的java正在挂起   java Spring3依赖项注入不适用于mule   java Flink SQL结果字段与LocalDateTime上请求的类型错误不匹配   java找不到文件的结尾   考虑到NamingStrategy,java有没有办法将字符串转换为JsonNode?   使用Netbeans/ant部署java(命令行)应用程序   java如何修复Spring引导多部分上载中的“所需请求部分不存在”   java在应用程序启动时通过引用获取映射未知目标实体属性异常   java形状旋转问题Java2d   Weblogic服务器上的java ExecuteAndWaitInterceptor问题   JavaSpringBoot:project将图像保存在错误的路径中,并且在使用IDEIntellji打开时不显示图像   类向java接口添加方法   Swing组件上的Java 7泛型   sql server如何从java获取用户名。sql。联系   java如何检查该行是否与正则表达式(regex)冲突?   java如何在spring引导安全中为计数失败登录设置验证登录为false   图像如何在Java中使PNG的白色透明?