Graphene SQLAlchemy integration
Project description
You are in the next unreleased version of Graphene-sqlalchemy (1.0.dev). Please read UPGRADE-v1.0.md to learn how to upgrade.
Graphene-SQLAlchemy
A SQLAlchemy integration for Graphene.
Installation
For instaling graphene, just run this command in your shell
pip install "graphene-sqlalchemy>=1.0.dev"
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, args, context, info):
query = User.get_query(context) # 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file graphene-sqlalchemy-1.0.dev20160920000001.tar.gz
.
File metadata
- Download URL: graphene-sqlalchemy-1.0.dev20160920000001.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a88409f5834f0558c3a526c4f34c2284402d47ea4400ade4fed80452eb9dd870 |
|
MD5 | b75f7caea0c4002dfe1649749636b20e |
|
BLAKE2b-256 | 6dff8dff3122224d141ba4211cfe24be4eacd686a3b169e36046c4a60c929410 |