README.rst @15ed1eff-6dbe-442e-9fe9-7ca413e0d495/main — view markup · raw · history · blame
Please read UPGRADE-v2.0.md to learn how to upgrade to Graphene 2.0.
Graphene-SQLAlchemy
A SQLAlchemy integration for Graphene.
Installation
For instaling graphene, just run this command in your shell
pip install "graphene-sqlalchemy>=2.0"
Examples
Here is a simple SQLAlchemy model:
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)
To create a GraphQL schema for it you simply have to write the following:
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)
Then you can simply query the schema:
query = ''' query { users { name, lastName } } ''' result = schema.execute(query, context_value={'session': db_session})
To learn more check out the following examples:
- Full example: Flask SQLAlchemy example
Contributing
After cloning this repo, ensure dependencies are installed by running:
python setup.py install
After developing, the full test suite can be evaluated by running:
python setup.py test # Use --pytest-args="-v -s" for verbose mode