一个Django应用程序,它提供了一个序列化程序mixin,允许您根据提供的操作自定义字段,而无需创建其他序列化程序。

django-rest-action-serializer的Python项目详细描述


Python applicationcodecov

django rest操作序列化程序

一个Django应用程序,它提供了一个序列化程序mixin,允许您根据提供的操作自定义字段,而无需创建其他序列化程序。在

安装

使用pip安装包

pipinstalldjango-rest-action-serializer

快速启动

例如,假设您有一个ModelViewSet,您需要在list操作和retrieve操作中显示不同的字段。如果没有django rest action serializer,您将执行以下操作:

^{pr2}$

很多代码,对吧?看看用django rest操作序列化器做这件事是多么容易

fromdra.serializersimportActionSerializerclassUserSerializer(ActionSerializer,serializers.ModelSerializer):classMeta:model=Userfields=('url','name','age',)action_fields_map:{'retrieve':{'fields':fields+('email',('stories',StorySerializer(read_only=True,many=True))),'exclude':('url',)}}classUserModelViewSet(ModelViewSet):serializer_class=SerializerForListqueryset=User.objects.all()

因此,您需要做的就是使您的序列化程序类在herit中成为django rest action serializer中的ActionSerializer,并在其元类中设置action_fields_map属性,结构如下:

classMeta:...action_fields_map={'<action name (retrieve, list, delete)>':{'fields':()# All the field you want to display. If You want a custom field, declare it as a Tuple (field name, field type)'exclude':()# All the fields you want to remove from the fields attribute}}

贡献

随时为这个项目做贡献:D只是打开一个问题或拉请求

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

推荐PyPI第三方库


热门话题
java动态地将圆添加到Arraylist   什么是好的“错误检查”模式(Java)?   java是我们可以在应用程序中使用的云服务,它需要存储最大大小为5MB的小文件   JavaGooglePhotosAPI是静态内容上传项目的永久url   java AES密钥存储   java文件正在下载,但没有任何内容   每次循环迭代和threadsleep的java日志记录都是不好的做法?   java不会切换到另一个。单击submit时使用jsp。春季mvc   java我很难从我的maclaurin系列中获得sin x的准确输出   java使用类似的<Object>?   需要java Hibernate映射吗?   java如何在https和客户端证书请求后面生成web服务代理   java如何通过注释有条件地使用自定义JsonSerializer   java如何在html页面和Restful WebResource方法之间实现JaxB?   读取文件Libgdx Android时发生java错误   java如何在处理主活动之前从另一个方法中获取值?   java在一个SQLquery中使用多个语句,还是使用批处理?