generate default graphene schema from sqlalchemy model base on graphene-sqlalchemy
Project description
generate default graphene schema from sqlalchemy model base on graphene-sqlalchemy
Installation
just run
pip install graphene_sqlalchemy_auto
Features
- auto add
offset
limit
totalCount
to pagination - auto add
dbId
for model's database id - mutation auto return ok for success,message for more information and output for model data
How To Use
example :
from graphene_sqlalchemy_auto import QueryObjectType,MutationObjectType
from sqlalchemy.ext.declarative import declarative_base
import graphene
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
Session = sessionmaker()
class Query(QueryObjectType):
class Meta:
declarative_base = Base
exclude_models = ["User"] # exclude models
class Mutation(MutationObjectType):
class Meta:
declarative_base = Base
session=Session() # mutate used
include_object = []# you can use yourself mutation UserCreateMutation, UserUpdateMutation
schema = graphene.Schema(query=Query, mutation=Mutation)
Query example
just equal
query{
userList(filters:{name: "a"}){
edges{
node{
name
id
dbId
}
}
}
}
OR support more expr
query{
userList(filters:[{key: "name",op: "==", val: "a"}]){
edges{
node{
name
id
dbId
}
}
}
}
op supports:
- ==
- !=
- >=
- <=
- >
- <
- starts
- ends
- contains
- in
- notin
- any
Mutation example
createUser(input:{name: "cc",password: "dd"}){
ok
output{
id
dbId
name
}
message
}
about Schema names
- model.class.name.lower : query a data by id
- model.class.name.decapitalize[first lower]+"List": query list
- create|update|delete+model.class.name : mutation data
about many-to-many mutation
now you can use schema everywhere.some like flask,fastapi
also more example you can find in example
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
Built Distribution
File details
Details for the file graphene-sqlalchemy-auto-1.5.0.tar.gz
.
File metadata
- Download URL: graphene-sqlalchemy-auto-1.5.0.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2edfcb26a30ffbda822971cac6fa33c4b9da0ac28f55355a113f8cdd2044eace |
|
MD5 | ac59bd63b5ee5b77fe4e0a859a7d239f |
|
BLAKE2b-256 | 7ba41c321307d4595e8ee47e64c8a500bdf645363c443eecfe23a632d0cdc68e |
File details
Details for the file graphene_sqlalchemy_auto-1.5.0-py3-none-any.whl
.
File metadata
- Download URL: graphene_sqlalchemy_auto-1.5.0-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 466abd44c8ec30d73c121f1abf972a3451d4bd621c71455581b890739a77ed9d |
|
MD5 | 80489df756e37e2f9536b7e0a4883ce1 |
|
BLAKE2b-256 | bef51569007feec6610c349d2c35478e5ba42742cdf96234839b1ecdc3a60092 |