Skip to main content

generate default graphene schema from sqlalchemy model base on graphene-sqlalchemy

Project description

publish

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphene-sqlalchemy-auto-1.5.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

graphene_sqlalchemy_auto-1.5.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

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

Hashes for graphene-sqlalchemy-auto-1.5.0.tar.gz
Algorithm Hash digest
SHA256 2edfcb26a30ffbda822971cac6fa33c4b9da0ac28f55355a113f8cdd2044eace
MD5 ac59bd63b5ee5b77fe4e0a859a7d239f
BLAKE2b-256 7ba41c321307d4595e8ee47e64c8a500bdf645363c443eecfe23a632d0cdc68e

See more details on using hashes here.

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

Hashes for graphene_sqlalchemy_auto-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 466abd44c8ec30d73c121f1abf972a3451d4bd621c71455581b890739a77ed9d
MD5 80489df756e37e2f9536b7e0a4883ce1
BLAKE2b-256 bef51569007feec6610c349d2c35478e5ba42742cdf96234839b1ecdc3a60092

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page