将SQLAlchemy表转换为Graphene ObjectType。
graphene-objecttype-from-sqlalchemy-table的Python项目详细描述
sqlalchemy表中的graphene objecttype
将SQLAlchemyTable转换为GrapheneObjectType。在
- 免费软件:麻省理工学院许可证
特点
此库的目的是在无法使用完整的SQLAlchemy ORM时,允许基于数据库表定义创建轻量级GraphQL模式。它将Table列转换为对应的Graphene,并创建相应的Graphene ObjectType,用作模式字段。在
请注意,如果您的应用程序使用SQLAlchemy ORM,graphene-sqlalchemy仍然提供了更多的特性,您可以从中受益。在
安装
在shell运行中:
pip install graphene-objecttype-from-sqlalchemy-table
示例用法
让我们首先定义一个模拟数据库表。在
^{pr2}$然后使用引用SQLAlchemy表的元类创建Graphene对象类型。在
fromgraphene_objecttype_from_sqlalchemy_tableimportObjectTypeFromTableclassTestTable(ObjectTypeFromTable):classMeta:table=t
最后使用新的对象类型定义GraphQL查询结构。在
fromgrapheneimportField,ObjectType,SchemaclassQuery(ObjectType):test_table=Field(TestTable)# custom resolver for the table (probably a database query in a real world application)# returns a dictionary or an object with attributes corresponding to column namesdefresolve_test_table(root,info):return{'foo':'Hello world','bar':42}schema=Schema(query=Query)# confirm that the query resolves correctlyschema.execute('query { testTable { foo, bar } }')# {'data': {'testTable': {'foo': 'Hello world', 'bar': 42}}}
可以通过将特定列列列为excluded_columns从结果对象中排除,或者只选择具有only_selected_columns属性的列的子集。在
classTestTable(ObjectTypeFromTable):classMeta:table=texcluded_columns=('foo',)# only_selected_columns = ('bar', )
学分
此包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。在
历史
0.1.2(2020-09-02)
- 没有更改,Travis CI加密问题导致pypi版本不正确,pypi不允许删除和重新发布同一版本,因此需要一个新版本来解决此问题。在
0.1.1(2020-08-31)
- 修复多列重用一个SQLAlchemy枚举或将枚举类型用作字段参数时出现的重复枚举类型错误。在
0.1.0(2020-08-17)
- PyPI的第一个版本。在
- 项目
标签: