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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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