跳转到主要内容

Ariadne为与Django和GraphQL一起工作的贡献库

项目描述

Ariadne Extended

Ariadne附带了一些贡献模块来支持与Django的集成。此模块充当额外的Django贡献模块,以减少与Django集成时的样板代码。

它复制并遵循Django Rest Framework中定义的一些约定,将努力提供与某些相关DRF扩展模块的API兼容性。

总体目标是提供常用模块和GraphQL模式,这样就不必在每个项目中重新创建它们。

支持的DRF模块

  • 分页类
  • 权限类
  • 序列化类(可能不会删除并通用化)
  • 节流
  • django-filters筛选后端

支持的Django版本

2.2.*, 3.0.*

ariadne_extended.graph_loader

自动模式、解析器和类型加载器

搜索 typesresolvers 模块,以及任何安装的 Django 应用程序中定义的任何 .graphql 文件。

一旦找到,它们可以用于构建您 ariadne 应用的最终模式和解析器解决方案。

ariadne_extended.payload

为 graphql Payload 接口提供的模式、类型和解析器。

目前,FieldErrors 与 Django rest framework 字段验证异常高度耦合。

ariadne_extended.cursor_pagination

是否将其重命名为 relay_pagination?

包含用于利用基于游标的分页的 PageInfo graphql 类型和 Connection 接口。

TODO:我们是否应该提供用于游标分页的输入类型,而不仅仅是复制分页参数信息到可分页列表字段中??

ariadne_extended.filters

用于将过滤参数传递给 django-filter 的过滤后端接口。

ariadne_extended.resolvers

用于基于类的解析器和利用 DRF 序列化器进行数据保存的模型解析器的 ABC。这可能在将来发生变化。

ariadne_extended.uuid

用于可能与 UUID 作为其主键或其他 UUID 字段一起使用的模型的 DRF UUID 字段标量。

贡献

django-waffleariadne_extended.contrib.waffle_graph

添加了可以用于查询任何 waffle 标志、样本和开关的解析器、模式和类型。

清单

  • 摆脱对 DRF 的依赖?
  • 调查对序列化器的需求(嵌套数据依赖?)
  • 将代码组织到多个 Django 应用程序中,以选择所需的组件
  • 文档和示例
  • 当与 django-filters 一起使用时,更好地支持枚举列表(目前期望逗号分隔的列表字符串,而不是来自输入字段解析器的枚举列表)
  • 许可证和公开发布
  • 部署自动化
  • 混入与序列化器高度耦合,它们是否仍然应该这样?

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。

源分布

ariadne-extended-0.2.5.tar.gz (22.5 kB 查看散列)

上传时间:

构建分布

ariadne_extended-0.2.5-py3-none-any.whl (28.7 kB 查看散列)

上传时间: Python 3