基于类型批注创建Graphene对象类型。

graphanno的Python项目详细描述


格拉法诺

使用python 3.6+类型注释生成grapheneObjectType类。

安装

您可以通过运行pip来安装项目:

pip install graphanno

从源安装:

python setup.py install

用法

装饰符@graphanno.graph_annotations只对包含类型的类起作用 注解。如果decorator目标中没有类型注释, NoAnnotationsError引发异常。没有注释的参数将 被忽视。

要创建graphene.ObjectType对象,只需用 @graphanno.graph_annotations

建议子类graphanno.ObjectType为ide提供提示。 这不是必需的,@graphanno.graph_annotations将替换您的修饰类 不管怎样,使用ObjectType子类。

importgrapheneimportgraphanno# the class below...@graphanno.graph_annotationsclassGraphanno(graphanno.ObjectType):value:str# ... is equivalent to:classGraphene(graphene.ObjectType):value=graphene.String()

如果仍然需要带类型注释的类,请将__model__变量设置为带注释 在装饰过的房间内上课:

importgrapheneimportgraphannoclassAnnotated:# this class will be still available latervalue:str# the class below...@graphanno.graph_annotationsclassGraphanno(graphanno.ObjectType):"""    This class can inherit from graphene.ObjectType already,     but it won't change the @graph_annotations behavior.    """__model__=Annotated# ... is equivalent to:classGraphene(graphene.ObjectType):value=graphene.String()

如果将修饰另一个同名的类,则SchemaClashError异常 将被抚养。

附加参数

  • __excluded_fields__(元组):将从中排除的字段的名称 架构。始终排除私有属性。
  • __ignore_unsupported__(bool):不要对不支持的注释引发异常。 默认值False

支持的批注

@graph_annotations修饰的类可以使用下面列出的类型注释。

  • str
  • 内景
  • 浮动
  • 布尔
  • datetime.datetime
  • datetime.date
  • datetime.time
  • 键入.list
  • 支持类型注释的自定义类

使用不支持的注释将引发UnsupportedAnnotationError异常。 若要忽略此异常,请在修饰类中将__ignore_unsupported__设置为True

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

推荐PyPI第三方库


热门话题
java连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中