用于在drf中解析请求和返回响应的独立序列化程序

drf-crud-prox的Python项目详细描述


这个包提供了扩展的django rest框架通用视图和视图集,它们提供了指定 用于读取传入请求和呈现响应的不同序列化程序。

这在您想要的情况下非常方便,例如,让用户发送一个foreignkey属性, 但在响应旁边显示相关对象,而不是仅显示数据库ID。

要求

  • python 3.6或3.7(可能也是旧版本)
  • Django 2.0或2.1
  • django rest framework 3.x

安装

pip install drf-crud-proxy

用法

导入泛型视图并从中为您自己的视图创建子类。指定request_serializer_class和/或 response_serializer_class到视图(都默认为drf自己的serializer_class属性)。

# api/views.pyfromdrf_crud_proxyimportgenericsfromapp.modelsimportMyModelfromapi.serializersimportMyModelCreateSerializer,MyModelSerializerclassMyModelListCreateView(generics.ProxiedListCreateAPIView):queryset=MyModel.objects.all()request_serializer_class=MyModelCreateSerializerresponse_serializer_class=MyModelSerializer

传入的请求用MyModelCreateSerializer处理,响应用MyModelSerializer处理。

如果要在任何情况下自定义数据,请重写get_request_data和/或get_response_data 视图中的方法。

该包还支持所谓的PUT-as-create行为,该行为在其3.0版本中从drf中删除。请注意 用户必须对相应的创建行为(POSTrequest)具有模型权限。

注意:功能PUT-as-create还没有测试。

##许可证

麻省理工学院

drf中的这个功能是我在许多django项目中所需要的,所以希望这能帮助其他人。 太:)

这个包是基于伟大的vintasoftware的drf-rw-serializershttps://github.com/vintasoftware/drf-rw-serializers)包提出的思想构建的。谢谢!

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

推荐PyPI第三方库


热门话题
java在ArrayList中比较数字   java在Kotlin中使异步调用同步   让“Scala编程”junit示例在IntelliJ中工作的java问题   java Servlet侦听器未在ContextListener中设置属性   将Microsoft SQL Server数据库连接到我的Java项目   加载资源时出现java“需要注册工厂”异常   java如何使用POI检查excel中的重复记录?   java如何更改机器生成的代码   java如何确保重写的方法是同步的   用Spring编写Hibernate时的java XML奥秘   java管理mysql数据库中存储的用户权限   java如何运行。来自Javascript的jar方法   java我想在Web应用程序中进行身份验证&对桌面应用程序使用相同的凭据。我该怎么做?