一个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第三方库


热门话题
从FXML转换为JAVA时,不会加载javafx映像   泛型Java模板调用运行时推断   javascript为什么我的活动没有响应我在样式文件中所做的更改?   如何在HttpClient(java、apache)中自动重定向   java CSV到H2字符编码不匹配   在Java中使用BorderLayout按比例调整用户界面大小   Java中的重定向异常   java RecyclerView搜索过滤器仅过滤一个值   java标准api multiselect与count和distinct不起作用   java为什么我在Solr上做的每一个查询都会占用我10s MB的堆内存?   java如何使用方法解决:锁定帐户三次后?   java如何实现睡眠以显示图像的幻灯片   在Java中,按对象参数对映射<对象,列表<对象>>进行排序   java无法从密钥库读取密钥   java试图将水平recycleview嵌套到垂直recycleview中   认识C++对Web应用开发的重要性   使用共享对象实例化多个Runnable的java含义?   javabeans何时使用JavaBean?