跳转到主要内容

Graphene SQLAlchemy集成

项目描述

请阅读UPGRADE-v2.0.md以了解如何升级到Graphene 2.0


石墨烯标志 Graphene-SQLAlchemy 构建状态 PyPI版本 覆盖率状态

Graphene对SQLAlchemy的集成。

安装

要在您的shell中安装graphene,只需运行以下命令

pip install "graphene-sqlalchemy>=2.0"

示例

这是一个简单的SQLAlchemy模型

from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import backref, relationship

from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class UserModel(Base):
    __tablename__ = 'department'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    last_name = Column(String)

要为它创建一个GraphQL模式,您只需编写以下内容

from graphene_sqlalchemy import SQLAlchemyObjectType

class User(SQLAlchemyObjectType):
    class Meta:
        model = UserModel

class Query(graphene.ObjectType):
    users = graphene.List(User)

    def resolve_users(self, info):
        query = User.get_query(info)  # SQLAlchemy query
        return query.all()

schema = graphene.Schema(query=Query)

然后您可以直接查询该模式

query = '''
    query {
      users {
        name,
        lastName
      }
    }
'''
result = schema.execute(query, context_value={'session': db_session})

要了解更多信息,请查看以下示例

贡献

在克隆此仓库后,请确保已通过运行以下命令安装了依赖项

python setup.py install

在开发后,可以通过运行以下命令来评估完整的测试套件

python setup.py test # Use --pytest-args="-v -s" for verbose mode

由以下支持